在bash中获取uniqe文件的文件路径

时间:2016-09-01 17:39:43

标签: bash shell awk

我有以下文件夹结构:

/a/b/c/d/e.txt
/a/b/c/e.txt
/a/b/m.txt

我希望输出为

/a/b/c/d/e.txt
/a/b/m.txt

e.txt的任何路径都可以。到目前为止,我能够过滤掉唯一的文件,但我失去了完整路径的价值。

find . -name '*.txt' |  awk -F "/" '{print $NF}' | uniq

输出

e.txt
f.txt

有没有办法使用awk,sed或任何其他命令打印上述场景中的完整路径?

1 个答案:

答案 0 :(得分:5)

您可以使用awk:

awk -F/ '!seen[$NF]++' file

/a/b/c/d/e.txt
/a/b/m.txt

seen是一个关联数组,键为$NF(最后一个字段)。