我有一个文件和目录名列表:
foo.js FOOBAR bar.json fubar/ .foo/ .baz
有没有办法将它们传递给find
,grep
或其他东西并使用一个命令删除所有内容?
答案 0 :(得分:2)
为什么不使用rm
?
rm -fr -- foo.js FOOBAR bar.json fubar/ .foo/ .baz
--
开头,则-
是可选的。如果要以递归方式递归删除带有这些文件名的文件,可以执行以下操作:
find path \( -name foo.js -o -name FOOBAR -o -name bar.json -o -name fubar -o -name .foo -o -name .baz \) -exec rm -fr -- '{}' \;
与xargs
类似:
find path \( -name foo.js -o -name FOOBAR -o -name bar.json -o -name fubar -o -name .foo -o -name .baz \) -print0 | xargs -0 rm -fr --
答案 1 :(得分:1)
您可以简单地使用:
rm -rf foo.js FOOBAR bar.json fubar/ .foo/ .baz
。
-r
选项将递归删除这些文件,-f
选项将强制删除这些文件。
如果所有文件都在同一个文件夹中,那么rm -rf *
将完成这项工作!