web-dev-qa-db-ja.com

多くのファイルを削除すると、「引数リストが長すぎます」という結果になります

フォルダー内で削除する28万枚の写真がありますが、一部のビデオは残しておきます。フォルダーで、コマンド#rm *.jpgを指定しましたが、「引数リストが長すぎます」と表示されます。一部の写真を削除する引数を作成すると、#rm 104-*。jpgのように小さなセットで機能します。

「引数リストが長すぎます」というメッセージを表示せずに、ディレクトリ内のすべてのJPEGファイルを効率的に削除するにはどうすればよいですか?

#rm -f *.jpgは同じメッセージを提供します。

Enter image description here

Cajaでフォルダーを開くと、大量のメモリが使用され、クラッシュします。 buntu MATE を使用しています。

2
j0h

「引数リストが長すぎます」エラーを処理する一般的な方法は、findコマンドを使用することです。

find  -maxdepth 1 -mindepth 1 -type f -name "*.jpg" -delete
11

xargsを使用できます:

printf '%s\0' *.jpg | xargs -0 rm --

bashでは、printfコマンドは組み込みであり、同じ引数の長さの制限を受けません。

8
steeldriver