1

次のコマンドを使用して、Linuxの1つのディレクトリにある約10億個のファイルを削除しようとしています。

# rm /test/*.mp3

しかし、実行はこのメッセージの誤りです:

-bash: /bin/rm: Argument list too long

どうすればこの問題を解決できますか?

4

4 に答える 4

4

私はよく何かの形を使います

find /test/ -name '*.mp3' -delete

これにより、globがrmコマンドの引数としてすべてのファイルを一覧表示しようとするのではなく、各ファイルを順番に処理できます。

于 2012-09-19T03:27:43.420 に答える
1

xargs通常、妥当なサイズの引数リストを生成するのは賢明です。試す

ls -1 /test/*.mp3 | xargs rm

これにより、引数がまとめられますが、処理するには長すぎるコマンド呼び出しの作成が回避されます。

于 2012-09-19T03:29:47.263 に答える
1

これを試してください(私はiPadを使用していますが、Linuxをよく使用しています)

/から、実行

# rm -rf test
于 2012-09-19T03:31:48.697 に答える
1

もう1つのポップのお気に入りは「find temp -name "*.mp3" -exec rm {} \;

于 2012-09-19T03:38:50.957 に答える