gpt4 book ai didi

bash - 使用 awk 进行右拆分

转载 作者:行者123 更新时间:2023-12-04 16:17:05 24 4
gpt4 key购买 nike

我有一个包含文件大小和完整路径的 txt 文件。

例如:

1 3788160 /nfs/extracted/UNENCRYPTED.bin.extracted/_0.extracted/vmlinux.img
2 5971656 /nfs/extracted/extracted/out_v2.1.3.zip.extracted/firmware.tar.extracted/_uImage.extracted/vmlinux.bin.30071
3 4202630 /nfs/extracted/v2.0.0.10/extracted/v2.0.0.10.zip.extracted/_install.img.extracted/package2/vmlinux.develop.avhdd.mars.nand.bin
4 117 /nfs/extracted/v1.0.0.14/extracted/1.0.0.14.zip.extracted

我想打印第二列和文件名(rsplit on "/"),这样 a[0] 就是文件名。

3788160 vmlinux.img
5971656 vmlinux.bin.30071
4202630 vmlinux.develop.avhdd.mars.nand.bin
117 1.0.0.14.zip.extracted

有没有与 rsplit 等效的 awk?

例如:

awk '{rsplit($2,a,"/"); print $1, a[0]}'

最佳答案

你可以使用这个awk:

awk '{sub(/^.*\//, "", $3); print $2, $3}' file
3788160 vmlinux.img
5971656 vmlinux.bin.30071
4202630 vmlinux.develop.avhdd.mars.nand.bin
117 1.0.0.14.zip.extracted

这里:

  • sub(/^.*\//, "", $3):从头到尾删除所有内容 /
  • print $2, $3: 打印第二和第三列

关于bash - 使用 awk 进行右拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64741426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com