用于删除所有〜文件的Linux命令

时间:2009-08-06 02:02:29

标签: linux file-io

我可以在Linux中使用什么命令检查给定目录(或其子目录)中是否存在文件名末尾包含~的文件?

例如,如果我在名为t的目录中,其中包含许多子目录等,我想删除所有以~结尾的文件。

4 个答案:

答案 0 :(得分:9)

注意其中包含空格的文件名!

find ./ -name "*~" -type f -print0 | xargs -0 rm

答案 1 :(得分:8)

使用GNU find

find /path -type f -name "*~" -exec rm {} +

find /path -type f -name "*~" -delete

答案 2 :(得分:2)

find ./ -name '*~' -print0 | xargs -0 rm -f

此处find将搜索目录./和所有子目录,过滤与glob'*〜'匹配的文件名并打印它们(使用proper quoting courtesy of alberge)。结果传递给xargs以附加到rm -f,结果字符串在shell中运行。您可以使用多个路径,还有许多其他过滤器可用(只需阅读man find)。

答案 3 :(得分:1)

你可以使用find,grep,rm组合,比如

找到| grep“〜”| xargs rm -f

可能其他人有更好的想法:)