Bash命令(重新)移动重复文件[例如照片]

Bash命令(重新)移动重复文件[例如照片],bash,Bash,如果我有一个包含一堆照片的目录,其中有些是重复的(除了名字以外的所有内容),有没有办法让我得到一个unique列表并将它们移动到另一个目录 乙二醇 这将给我一个“md5文件名”列表 现在我只想看看基于此的uniques。。。 例如,将其输送至排序-u 在那之后,我想把所有这些文件移到其他地方,但我可以稍后再考虑…从那里: sort | uniq -w 32 将仅比较前32个字符,我认为这应该是md5sum本身。您可以使用: fdupes-r. 获取重复项的列表。通过一些命令链接,移动应该是可能

如果我有一个包含一堆照片的目录,其中有些是重复的(除了名字以外的所有内容),有没有办法让我得到一个unique列表并将它们移动到另一个目录

乙二醇

这将给我一个“md5文件名”列表

现在我只想看看基于此的uniques。。。 例如,将其输送至
排序-u

在那之后,我想把所有这些文件移到其他地方,但我可以稍后再考虑…

从那里:

sort | uniq -w 32
将仅比较前32个字符,我认为这应该是md5sum本身。

您可以使用:

fdupes-r.

获取重复项的列表。通过一些命令链接,移动应该是可能的

fdupes-r-f.

仅显示重复的文件。因此,如果你有一个图像两次。您将获得一个条目,而不是两个重复的路径

要移动,您可以执行以下操作:

for file in $(fdupes -r -f . | grep -v '^$')
do
  mv "$file" duplicated-files/
done

但是要注意名字的冲突。

显然,苏也有一个类似的问题:完美。要获得到目前为止的文件列表,我必须
find-类型f-print0 | xargs-0 md5sum | sort | uniq-w 32 | cut-d'-f2-
。。。现在只需要给他们mv。或者,我不能留长胡子,只能用fdupes,看起来。
for file in $(fdupes -r -f . | grep -v '^$')
do
  mv "$file" duplicated-files/
done