发生这种情况的原因是,bash实际上将星号扩展到每个匹配的文件,从而产生了很长的命令行。
尝试这个:
find . -name "*.pdf" -print0 | xargs -0 rm
这是递归搜索,还将在子目录中查找(和删除)文件。-f
仅在确定不希望确认时,才使用rm命令。
您可以执行以下操作使命令非递归:
find . -maxdepth 1 -name "*.pdf" -print0 | xargs -0 rm
另一种选择是使用find的-delete
标志:
find . -name "*.pdf" -delete