使用find删除Bash脚本

时间:2018-01-23 03:00:45

标签: bash shell duplicates

如何使用此find命令删除重复文件:

find . -type f \( -iname "*.xml" \) -printf '%T@ %p\n' | sort -rg | sed -r 's/[^ ]* //' | awk '{w=$0; sub(".*/", "", w); sub("_[0-9_][0-9_]*.*", "", w);} !a[w]++'

此命令用于获取唯一的文件名,但如何删除重复的文件名。请帮助。

1 个答案:

答案 0 :(得分:0)

以下脚本可用于查找和删除重复文件。它只会保留重复文件列表中的一个副本。

找到。 -type f(-iname" * .xml")> /tmp/fileList.txt; dupFileList = $(cat /tmp/fileList.txt | awk -F' /'' {print $ NF}' | sort | uniq -c | awk' { if($ 1> 1)打印$ 2}' | tr' \ n'''); 对于$ dupFileList中的文件; 做
    cat /tmp/fileList.txt | grep $文件| awk' NR> 1' | xargs rm -f; 完成