我在 UNIX 的一个目录下有数百个 PDF。 PDF 的名称非常长(大约 60 个字符)。
当我尝试使用以下命令一起删除所有 PDF 时:
rm -f *.pdf
我收到以下错误:
/bin/rm: cannot execute [Argument list too long]
这个错误的解决办法是什么?
此错误是否发生在mv
and cp
命令也是如此?如果是,如何解决这些命令?
发生这种情况的原因是因为 bash 实际上将星号扩展到每个匹配的文件,从而产生一个非常长的命令行。
尝试这个:
find . -name "*.pdf" -print0 | xargs -0 rm
Warning:这是递归搜索,也会查找(并删除)子目录中的文件。钉上-f
仅当您确定不需要确认时才使用 rm 命令。
您可以执行以下操作以使命令非递归:
find . -maxdepth 1 -name "*.pdf" -print0 | xargs -0 rm
另一种选择是使用 find-delete
flag:
find . -name "*.pdf" -delete
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)