如何删除所有以“2”结尾的文件?

如何删除所有以“2”结尾的文件?

我不小心复制了备份文件的两次,所以现在我有两个相同的文件,唯一的区别是两个文件之一以空格结尾,后跟“2”。

例子:

urh 2.sh
urh.sh

或者

vim tut
vim tut 2

如何在单个命令中通过 bash 递归删除所有这些重复项?

答案1

你可以找到然后删除...像这样

首先检查要删除的文件列表是否正确:

find /path/to/the/folder -name "* 2" -print0| xargs -0 -n1 ls

然后删除

find /path/to/the/folder -name "* 2" -print0| xargs -0 rm -f

在删除任何内容之前确保您有备份,以防出现问题...

干杯,

SK

答案2

bash-shell 全局扩展( man 7 glob) 对于您的情况应该足够了。

rm ./*" 2"*

这将删除当前目录中名称至少包含一个子字符串“2”实例的每个文件。

相关内容