rmコマンドで「引数が長すぎます」とエラーが出る場合
仕事で1万通溜まったMaildirの中身を削除する、という状況があったのだが、
お客さんの目の前でrm -f *が「引数が長すぎます」と無情なエラー。。。
調べた結果要するに*で展開されるファイル数が多すぎて処理できない、ということのようだったので
tar -cvf cur.tar ./curでディレクトリごと圧縮してバックアップを取った後、
rm -rf ./curでcurディテクトリを削除後、curディレクトリを再作成した。
引数自体を増やしたり一定するごとに処理する方法もあるようだったが
客先のマシンだったので手堅い方法で処理。
Comments
xargsを使うと引数上限で分割して実行してくれるのですね。
http://x68000.q-e-d.net/~68user/unix/pickup?xargs