grep - 인쇄 파일 이름을 처리할 수 없습니다.

grep - 인쇄 파일 이름을 처리할 수 없습니다.

이런 로그가 있습니다. .bill.file 형식의 파일 수를 처리합니다. 처리 중 문제가 발생한 경우심각한메시지 다음에정보파일 경로에 대한 세부 정보가 포함된 인쇄됩니다.

SEVERE  2016-02-09 00:45:18 [process number] rocessRunner.process Exception during process 123.bill.file
SEVERE  2016-02-09 00:45:18 [process number]
...
...
INFO    2016-02-09 00:45:18 [process number] Runner. Closing input  /var/run/data/123.bill.file

내 요구 사항은 예외가 발생하는 파일 경로를 얻는 것입니다.

답변1

grep귀하의 요구 사항과 같은 조건 기반 일치에는 실제로 적합하지 않지만 awk여러 줄에서 여러 패턴 일치를 처리할 수 있는 데 더 적합합니다. 귀하의 입력에 따라 우리는 먼저 시작하는 문자열을 일치시키고 SEVERE다음 일치가 INFO발생하면 마지막 열을 인쇄합니다.가능한찾고 있는 파일이 포함되어 있습니다.

awk '/^SEVERE/{flag=1; next} flag && /^INFO/{print $NF; flag=0}' file

관련 정보