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