Ash*_*ley 32 command-line rm find xargs
通常要删除文件名中带有空格的文件,您必须运行:
$ rm "file name"
Run Code Online (Sandbox Code Playgroud)
但如果我想删除多个文件,例如:
$ find . -name "*.txt" | xargs rm
Run Code Online (Sandbox Code Playgroud)
这不会删除其中包含空格的文件。
ste*_*ver 51
你可以告诉find和xargs都使用空终止符
find . -name "*.txt" -print0 | xargs -0 rm
Run Code Online (Sandbox Code Playgroud)
或(更简单)使用内置-delete动作find
find . -name "*.txt" -delete
Run Code Online (Sandbox Code Playgroud)
或(感谢@kos)
find . -name "*.txt" -exec rm {} +
Run Code Online (Sandbox Code Playgroud)
其中任何一个都应该尊重系统的ARG_MAX限制而不需要xargs.