解決 Argument list too long

在 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


Leave a Reply