我有一个包含sortedfile.txt
文件名列表的文件。我正在寻找另一个文件,ngfilelist.txt
其中包含所有重复文件的文件列表sortedfile.txt
。
我正在使用这个命令
for X in `uniq -d ~/Desktop/sortedfiles.txt`; do grep "$X" ~/Desktop/ngfilelist.txt; done
我应该纠正什么?
我会做这样的事情:
cat sortedfiles.txt | xargs -n1 -i{} grep '^{}$' ngfilelist.txt
我发现不是使用for
循环,而是更容易使用for each line in againstxargs
运行。输出是在两个文件中找到的文件名列表。grep
sortedfiles.txt
ngfilelist.txt
请注意,^
and$
仅用于匹配完整的文件名,因为可能部分匹配不被视为您的问题的有效结果。
这可能对您有用:
awk 'FNR==NR{f[$1]++;next}$1 in f && f[$1]>1{print}' sortedfiles.txt ngfilelist.txt