我有以下文件夹结构:
/a/b/c/d/e.txt
/a/b/c/e.txt
/a/b/m.txt
Run Code Online (Sandbox Code Playgroud)
我想要输出
/a/b/c/d/e.txt
/a/b/m.txt
Run Code Online (Sandbox Code Playgroud)
e.txt的任何路径都可以.到目前为止,我能够过滤掉唯一的文件,但是我正在失去完整路径的价值.
find . -name '*.txt' | awk -F "/" '{print $NF}' | uniq
Run Code Online (Sandbox Code Playgroud)
输出是
e.txt
f.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法使用awk,sed或任何其他命令打印上述场景中的完整路径?
你可以使用awk:
awk -F/ '!seen[$NF]++' file
/a/b/c/d/e.txt
/a/b/m.txt
Run Code Online (Sandbox Code Playgroud)
seen是一个关联数组,键为$NF(最后一个字段).