在 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