次のコマンドを使用して、Linuxの1つのディレクトリにある約10億個のファイルを削除しようとしています。
# rm /test/*.mp3
しかし、実行はこのメッセージの誤りです:
-bash: /bin/rm: Argument list too long
どうすればこの問題を解決できますか?
次のコマンドを使用して、Linuxの1つのディレクトリにある約10億個のファイルを削除しようとしています。
# rm /test/*.mp3
しかし、実行はこのメッセージの誤りです:
-bash: /bin/rm: Argument list too long
どうすればこの問題を解決できますか?
私はよく何かの形を使います
find /test/ -name '*.mp3' -delete
これにより、globがrmコマンドの引数としてすべてのファイルを一覧表示しようとするのではなく、各ファイルを順番に処理できます。
xargs
通常、妥当なサイズの引数リストを生成するのは賢明です。試す
ls -1 /test/*.mp3 | xargs rm
これにより、引数がまとめられますが、処理するには長すぎるコマンド呼び出しの作成が回避されます。
これを試してください(私はiPadを使用していますが、Linuxをよく使用しています)
/から、実行
# rm -rf test
もう1つのポップのお気に入りは「find temp -name "*.mp3" -exec rm {} \;
」