在 Linux 使用 cp, mv, rm 指令时, 如果同时要操作的项目过多时, 就会出现以下错误:
Argument list too long
出现这个错误的原因, 是系统对单一指令限制了输入的参数, 例如目录下的档案数量很多时, 想用 mv 指令将它们搬到另一个目录:
$ mv ./*.txt
-bash: /bin/rm: Argument list too long
要解决这个问题有几种不同方法, 以下列出 Find 及 Xargs 方法:
Find
$ find ./ -name “*.txt” -exec rm {} ;
Xargs
$ ls *.txt | xargs rm
$ find ./ -type f -name *.txt | xargs rm
$ find ./ -type f -name *.txt | xargs rm