我需要删除电脑中的重复文件,因为我在不同的文件夹中有大约 5 份每张照片的副本。我想删除也出现在某个文件夹中的照片,我在其中对其中的很多照片进行了排序。我希望它保留文件夹中的文件,并保留未出现在该文件夹中的重复文件。例如:我想保留桌面上的文件。
- C:/桌面/file1,file3
- C:/桌面/2016/file2
- C:/备份/文件1(2),文件4
- C:/Backup2/文件1(3)、文件2(2)、文件4(2)
结果应该是
- C:/桌面/file1,file3
- C:/桌面/2016/file2
- C:/备份/file4
- C:/Backup2/file4(2)
答案1
假设dir1
是您要搜索的路径,并且dir2
是某个文件夹:
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | parallel rm
或者,如果你只有xargs
而没有parallel
:
find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | xargs rm
例子:
假设你想查看驱动C:
器和某个文件夹是C:\Desktop
,那么赛格威:
find /cygdrive/c -not -path "/cygdrive/c/Desktop/*" | grep -F -f <(ls -1 /cygdrive/c/Desktop) | parallel rm
find /c -not -path "/c/Desktop/*" | grep -F -f <(ls -1 /c/Desktop) | parallel rm
在西弗吉尼亚海岸:
find /mnt/c -not -path "/mnt/c/Desktop/*" | grep -F -f <(ls -1 /mnt/c/Desktop) | parallel rm