删除查找结果中的文件

remove files that are in find result

我想删除所有扩展名为“.json”的文件。所以我 运行

find . -name "*.json"

这将产生一些文件

x.json
y.json
z.json

然后我为每个文件做 rm,但是当你有很多文件时,这是一项非常乏味的任务。

有什么方法可以将 rmfind 结果混合使用

您可以将 -exec 选项与 find 一起使用。

find . -name '*.json' -exec rm -f {} \;

您可以使用 xargs 将找到的文件提供给另一个命令。

-exec 的优点是不会为每个文件创建一个新进程:

find . -name "*.json" | xargs rm

如果使用 GNU find,它非常简单:

find directory/ -name "*.json" -delete