gpt4 book ai didi

shell - 从校验和输出中的文件名中去除目录

转载 作者:行者123 更新时间:2023-12-04 12:54:25 25 4
gpt4 key购买 nike

我有一个在 unix shell 脚本中使用的校验和的输出,我只需要显示校验和值和文件名。

$ Cksum path/path2/f1.txt | awk '{print $1,$2}'
1237668 path/path2/f1.txt
但是我想要没有目录的文件名:
1237668 f1.txt 
我试过 sed ,我只得到文件名而不是校验和:
$ Cksum path/path2/f1.txt | sed 's/.*path2//'
/f1.txt

最佳答案

假设您的文件名不包含空格,这里是 sedawk解决方案:
更简单的 sed :

cksum path/to/f.txt | sed 's/ .*[/ ]/ /'

878395353 f.txt
sed从空格字符开始匹配并匹配到最后 /或空间自 .*是贪婪的。我们只是用一个空格替换这个匹配的文本。

或者更简单的 awk使用 /或空格作为输入字段分隔符:
cksum path/to/f.txt | awk -F '[ /]' '{print $1, $NF}'

878395353 f.txt

关于shell - 从校验和输出中的文件名中去除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68815686/

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