2016-10-09 10 views
0

私は、このコマンドを実行しようとしているが、引数リストが長すぎるのエラーを取得しています:Linuxの引数リストが長すぎるエラー

find /dir1/dir2/dir3/dir4/dir5 -name *.cdb -type f -mmin +30 -delete

エラーは次のとおりです。

/usr/bin/find: Arg list too long. 

おそらく、findコマンドに戻りますファイルが多すぎます。 この問題を解決する方法についてのご意見はありますか?

おかげ

答えて

1

まず第一に、あなたはそれの拡大からシェルを防ぐには、アスタリスクをエスケープする必要があります

find /dir1/dir2/dir3/dir4/dir5 -name \*.cdb -type f -mmin +30 -delete 

または

find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete 
0

バッシュglobbingあなた*.cdb引数を拡大している、あなたは、 findコマンドに引数が多すぎます。シェル拡張を避け、findコマンドにグロブタスクを渡すために、その引数に引用符を追加する

試してみてください。

find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete 

それでも最大の引数の制限をインクリメントする必要がある場合は、ulimit -sを使用することができます

ulimit -s 65536 
関連する問題