zsh: argument list too long: mv

很奇怪,之前都沒有這個問題,發生的原因是因為同一時間在處理大量的檔案所造成。

例如,同一個目錄下有大量的 svg 檔案,想把檔案移到 backup 目錄下,使用指令:

mv *.svg backup

居然顯示錯誤,解法:

find . -name "*.svg" -exec mv {} backup \;

同理,如果需要使用 rm 指令,改服用:

find . -name "*.svg" -exec rm {} \;

其它 cp 、 rm 的指令也會有 Argument list too long 的問題,也可以用類似上述方式解決。

-exec參數後面是指執行其後面的命令,-exec以;為結尾,由於各個系統中分號的意義不同,因此用\進行轉義,即\;,{}會被find命令的結果替換。

相關文章

寫留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *