web-dev-qa-db-ja.com

エラー:「grep:引数リストが長すぎます」

次のコマンドを実行しようとしていますが、引数が長すぎます。手伝ってくれますか?。

Host# grep -rl 'pattern' /home/*/public_html/*
-bash: /bin/grep: Argument list too long

このエラーをオーバーライドし、すべてのユーザーのpublic_htmlディレクトリで必要なパターンマッチングファイルをgrepする方法はありますか。同じサーバーに約500人以上のユーザーがいます。

14
John

findを使用

find /home/*/public_html -type f -exec grep -l 'pattern' {} +

+修飾子は、ファイル名を管理可能なチャンクにグループ化します。

ただし、grep -r。この引数は、ファイル名ではなくディレクトリ名にする必要があります。

grep -rl 'pattern' /home/*/public_html

これには、数千のファイル名ではなく、500以上の引数があります。

33
Barmar