로그 파일에서 행의 일부를 분리한 다음 화면에 인쇄

로그 파일에서 행의 일부를 분리한 다음 화면에 인쇄

5분마다 레코드 수를 업데이트하는 파일이 있는 경우 출력은 다음과 같습니다.

timestamp name of log file dataset record count 8600

timestamp name of log file dataset record count 8610

dataset record count XXXX해당 문자열만 효과적으로 분리하여 화면에 인쇄하려면 어떻게 해야 합니까 ?

답변1

awk를 사용하는 편도:

awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }' input

또는 다음을 통해 파이프됩니다.

command | awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }'

또는 다음을 허용하는 grep을 사용하여 -o:

grep -Eo 'dataset record count [[:digit:]]+' input

또는 파이프:

command | grep -Eo 'dataset record count [[:digit:]]+'

관련 정보