使用cut或awk操纵目录?

时间:2013-05-31 10:54:37

标签: linux bash command-line awk command

我在Linux中处理一些目录,我试图操纵文件名,这是我的情况

grep 'string' | awk '{print $2$3}' 

我得到以下

dir1/another-directory/even-another-directory/file1.jpeg
dir1/another-directory/even-another-directory/fiiile2.jpeg
dir1/another-directory/even-another-directory/filee4.jpeg
dir1/another-directory/even-another-directory/fileee1.jpeg

我正在尝试获取这些文件的最后一部分(斜杠之后的任何内容),以便在CSV文件中得到这样的列表?

file1.jpeg
fiiile2.jpeg
filee4.jpeg
fileee1.jpeg

是awk还是削减能够做到这一点?我知道这是一个非常基本的问题,但到目前为止我找不到相关的在线内容。

谢谢,

2 个答案:

答案 0 :(得分:5)

用awk做一切:

awk '/string/{x=$2$3;sub(/.*\//,"",x);print x}'

答案 1 :(得分:1)

删除grep并在awk中进行匹配,并使用xargs在每个文件上调用basename以删除主要目录:

awk '/string/{print $2$3}' | xargs -n1 basename