如何使用 diff 从目录中删除具有不同名称的重复文本文件?
How to remove duplicate text files with different names from a directory using diff?
我有一个包含一些文本文件的目录。这些文件可能没有独特的内容。我只想保留唯一文件并删除其他文件。
我尝试了以下方法:
diff -sr directory/ copy-of-directory/
哪个returns:
文件 directory/1.txt 和副本-directory/1.txt 相同
文件 directory/2.txt 和副本-directory/2.txt 相同
文件 directory/3.txt 和副本-directory/3.txt 是相同的...
但为什么不说(我确认 1.txt 和 2.txt 确实不同)
文件 directory/1.txt 和副本directory/2.txt 不同
这个怎么样:
find directory -type f | while read f1; do
find copy-of-directory -type f | while read f2; do
diff -s "$f1" "$f2" || rm -f "$f2"
done
done
我有一个包含一些文本文件的目录。这些文件可能没有独特的内容。我只想保留唯一文件并删除其他文件。
我尝试了以下方法:
diff -sr directory/ copy-of-directory/
哪个returns:
文件 directory/1.txt 和副本-directory/1.txt 相同
文件 directory/2.txt 和副本-directory/2.txt 相同
文件 directory/3.txt 和副本-directory/3.txt 是相同的...
但为什么不说(我确认 1.txt 和 2.txt 确实不同)
文件 directory/1.txt 和副本directory/2.txt 不同
这个怎么样:
find directory -type f | while read f1; do
find copy-of-directory -type f | while read f2; do
diff -s "$f1" "$f2" || rm -f "$f2"
done
done