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 every 行をagainst で実行するfor
方が使いやすいことがわかりました。出力は、両方のファイルで見つかったファイル名のリストです。xargs
grep
sortedfiles.txt
ngfilelist.txt
おそらく部分的な一致は問題の有効な結果とは見なされないため、 と は完全なファイル名のみを一致させるために使用されること^
に注意してください。$
これはあなたのために働くかもしれません:
awk 'FNR==NR{f[$1]++;next}$1 in f && f[$1]>1{print}' sortedfiles.txt ngfilelist.txt