次のコマンドを実行しようとしていますが、引数が長すぎます。手伝ってくれますか?。
Host# grep -rl 'pattern' /home/*/public_html/*
-bash: /bin/grep: Argument list too long
このエラーをオーバーライドし、すべてのユーザーのpublic_htmlディレクトリで必要なパターンマッチングファイルをgrepする方法はありますか。同じサーバーに約500人以上のユーザーがいます。
find
を使用
find /home/*/public_html -type f -exec grep -l 'pattern' {} +
+
修飾子は、ファイル名を管理可能なチャンクにグループ化します。
ただし、grep -r
。この引数は、ファイル名ではなくディレクトリ名にする必要があります。
grep -rl 'pattern' /home/*/public_html
これには、数千のファイル名ではなく、500以上の引数があります。