find에서 grep 상태 코드를 얻는 방법

find에서 grep 상태 코드를 얻는 방법

find에서 시작된 grep 명령의 종료 코드를 얻는 방법:

예를 들어:

find ./export-`date +%Y%m%d`-*/instance.log -type f -exec grep -i -m1 error {} \;

파일에 "error"라는 단어가 있는지 여부에 관계없이 종료 코드를 반환합니다.0

instance.log의 내용은 다음과 같습니다.

2016-09-30 09:01:20 : 오류 2 (16)

답변1

-exec 옵션과 함께 사용된 find 명령은 grep 명령의 상태 코드를 반환합니다. 예:

find . -type f  -exec grep 201 {} +

"201" 패턴이 포함된 일부 로그 파일이 포함된 폴더에서 실행하면 0이 반환됩니다. echo $?(패턴이 발견되면 0을 제공)를 사용하여 콘솔에서 확인할 수 있습니다.

"201"을 포함하지 않는 파일이 포함된 다른 폴더에서 동일한 명령을 실행하면 find 명령의 상태 코드는 1이 됩니다.

관련 정보