我正在重新整理硬盘驱动器上的一些文件,并有一个文件夹的旧副本,我要做的是确保文件夹A中的每个文件(旧副本)都存在于文件夹B中。每个文件夹至少包含200个文件,其中大多数可能是重复项。
警告:我不能只检查文件名,还必须确保它们具有相同的内容(la fdupes
)。
我检查了联机帮助页,以了解fdupes
是否有某种方法可以执行逆操作(例如,找出哪些文件没有任何副本),但是空手而归,即使该功能存在,我仍然只有文件夹B中存在文件。
这两个问题是相似的,但是Windows并没有太大帮助:
提前致谢。
如果您已经有一个重复文件列表,只需将其与所有文件列表进行比较以查找单个文件:
fdupes -r dir1 dir2 | grep -vwFf- <(find dir1 dir2 -type f)
-w
仅计算整个单词(不包括子字符串,因此文件abcd
不会被匹配abc
)-F
认为模式是文字的,而不是正则表达式-f
使用指定的文件(-
在这种情况下,即标准输入)作为要匹配的表达式列表。-v
如您所知,显示不匹配的行。这应该输出一个列表,其中包含仅在其中一个文件夹中找到的文件,应该很容易通过略读或grepping文件夹A的名称(以下称为dir1
)来验证它们是否都在文件夹B中,如下所示:
fdupes -r dir1 dir2 | grep -vwFf- <(find dir1 dir2 -type f) | grep -F dir1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句