grep + 파일/스크립트의 폴더에서 재귀적인 복잡한 구문을 검색합니다.

grep + 파일/스크립트의 폴더에서 재귀적인 복잡한 구문을 검색합니다.

폴더 아래에서 다음 줄을 재귀적으로 검색하고 싶습니다.

awk '{print}'|grep -i -e 'port is up' -e 'valid output'

그래서 우리는 이렇게 했습니다:

grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /var
grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /etc
grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /opt

하지만 grep이 "'" 및 "{" 문자를 관리할 수 있는지 확실하지 않습니다. 아니면 내 구문이 잘못되었을 수도 있습니다.

답변1

고정 문자열(정규 표현식 아님)을 검색하려면 -F와 함께 옵션을 사용하세요 grep. 문자열이 함께 있는지 확인해야 하는 경우모두좋습니다 -x. 다음을 사용하세요.

grep -Fx -r '...your string here...' directory

대략적인 히트를 얻으려면 (전체 줄 검색이 아무것도 반환하지 않는 경우) port is up(none -x)으로 시작하거나 아마도

grep -F -r -e 'port is up' -e 'valid output' directory

|여기와 같이 기본 정규식을 사용하는 경우 특수 정규식 패턴 도 마찬가지입니다 {. 정규식에서는 결코 특별하지 않습니다. 그러나 당신이 사용하고 있기 때문에}'(패턴이 아님), 계속 사용해야 합니다 -F.

관련 정보