0

我正在处理 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 或 cut 能做到这一点吗?我知道这是一个非常基本的问题,但到目前为止我在网上找不到相关的东西。

谢谢,

4

2 回答 2

5

用 awk 做所有事情:

awk '/string/{x=$2$3;sub(/.*\//,"",x);print x}'
于 2013-05-31T10:59:44.150 回答
1

删除grep并进行匹配awk并使用xargs来调用basename每个文件以剥离前导目录:

awk '/string/{print $2$3}' | xargs -n1 basename
于 2013-05-31T10:55:59.197 回答