rm、cp、mv命令的参数列表过长错误

我在UNIX的目录下有几百个PDF。PDF的名称非常长(约60个字符)

当我尝试使用以下命令同时删除所有PDF时:

rm-f*.pdf

我得到以下错误:

/bin/rm:无法执行[参数列表太长]

这个错误的解决方案是什么?
mvcp命令也会发生此错误吗?如果是,如何解决这些命令

出现这种情况的原因是bash实际上将星号扩展到每个匹配的文件,从而生成一个非常长的命令行

试试这个:

查找-名称“*.pdf”-print0 | xargs-0 rm

警告:这是一个递归搜索,也会在子目录中查找(和删除)文件。仅当您确定不需要确认时,才将-f附加到rm命令

可以执行以下操作以使命令非递归:

查找-maxdepth 1-名称“*.pdf”-print0 | xargs-0 rm

另一个选项是使用find的-delete标志:

查找-名称“*.pdf”-删除

发表评论