
我有一个包含大量 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
进行实际删除(跳过此部分进行预览)