我在UNIX的目录下有几百个PDF。PDF的名称非常长(约60个字符)
当我尝试使用以下命令同时删除所有PDF时:
rm-f*.pdf
我得到以下错误:
/bin/rm:无法执行[参数列表太长]
这个错误的解决方案是什么?
mv和cp命令也会发生此错误吗?如果是,如何解决这些命令
出现这种情况的原因是bash实际上将星号扩展到每个匹配的文件,从而生成一个非常长的命令行
试试这个:
查找-名称“*.pdf”-print0 | xargs-0 rm
警告:这是一个递归搜索,也会在子目录中查找(和删除)文件。仅当您确定不需要确认时,才将-f附加到rm命令
可以执行以下操作以使命令非递归:
查找-maxdepth 1-名称“*.pdf”-print0 | xargs-0 rm
另一个选项是使用find的-delete标志:
查找-名称“*.pdf”-删除