모든 검색 파일에서 문자열을 검색하면 /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

관련 정보