두 날짜 사이의 로그 인쇄 [중복]

두 날짜 사이의 로그 인쇄 [중복]

두 날짜 사이의 로그 세부 정보를 얻고 싶지만 다음을 사용하여 아무것도 인쇄할 수 없습니다.

egrep "^\[MAY 16 11:00:00\]"  alert.log -A 10000 | egrep "^\[MAY 16 16:30:00\]" -B 10000

답변1

사용 sed:

sed -n '/May 16 11:00:00/,/May 16 16:30:00/p' /path/to/inputfile

의 경우 grep문제는 인수의 순서가 먼저일 수 있다고 생각합니다. -A-B인수를 넣습니다.뒤쪽에입력 파일이므로 , 및 ; grep라는 이름의 파일을 읽으려고 할 때 대괄호를 이스케이프하지 않습니다. 파이프라인은 다음과 같이 작동할 수 있습니다.-A-B10000

grep -E -A10000 'May 16 11:00:00' alert.log | grep -E -B10000 'May 16 16:30:00'

이는 검색 중인 정확한 타임스탬프와 실제로 일치하는 로그 항목이 있는 경우에만 작동합니다. 이에 따라 검색 제한으로 원하는 첫 번째 항목과 마지막 항목을 조정하세요.

답변2

egrep귀하가 제공한 예를 바탕으로 다음을 사용하십시오.

egrep "May 16 1[1-6]:..:.." /path/to/file | egrep -v "May .. 16:[3-5][1-9]:[0-9][1-9]"

관련 정보