如何删除目录中的重复文件?

如何删除目录中的重复文件?

我有一个包含大量 xml 文件的目录,如下面的文件名模式:

12345_65786.xml
12678_78907.xml
12345_89076.xml

现在我需要删除 12345_65786.xml 或 12345_89076.xml。我怎样才能做到这一点?

我需要根据文件名中“_”之前存在的相似值删除重复文件。

答案1

尝试

ls | awk -F_ 'p[$1]++ { printf "rm %s\n",$0;}' | bash

在哪里

  • -F_用作_分隔符
  • p[$1]++计数和测试前缀
  • { ... }rm filename如果以上计数大于 1,则打印
  • | bash进行实际删除(跳过此部分进行预览)

相关内容