すべての検索ファイルで文字列を検索すると、/bin/grep: Argument list too long エラーが発生します。

すべての検索ファイルで文字列を検索すると、/bin/grep: Argument list too long エラーが発生します。

以下を使用して、すべてのファイルからユーザーを検索しようとしました。/var

sudo find . -type f | xargs sudo grep 202007602 | tee /tmp/202007602.log

出力:

grep: ./www/html/jenkins/workspace/node_modules/xpath/docs/xpath: No such file or directory
grep: methods.md: No such file or directory
grep: ./www/html/jenkins/workspace/Efendibey-Live/node_modules/xpath/docs/function: No such file or directory
grep: resolvers.md: No such file or directory
sudo: unable to execute /bin/grep: Argument list too long
sudo: unable to execute /bin/grep: Argument list too long

それから私はstackoverflowの解決策を試しましたが、それもうまくいかず、次のエラーが発生しました。

sudo find /var -type f -exec sudo grep -l '202007602' {} + | tee /tmp/202007602.log
sudo: unable to execute /bin/grep: Argument list too long
sudo: unable to execute /bin/grep: Argument list too long
....
....

私はセントース7を使っています。

何か提案してもらえますか?

ベストアンサー1

GNUにフラグを使用してgrepこれを実行させます。-r

sudo grep -r 202007602 /var | tee /tmp/202007602.log

おすすめ記事