시간/날짜 및 값이 포함된 로그의 필드 인쇄

시간/날짜 및 값이 포함된 로그의 필드 인쇄

grep 및 awk만 사용하여 로그 파일에서 MMM DD HH:MM:SS와 다른 필드(예: SRC)를 인쇄할 수 있습니까? 따라서 대용량 로그 파일에서는 날짜, 시간 및 SRC만 추출합니다.

로그의 정보 예시:

Oct 19 21:13:00 server kernel: [ 6457.382677] PING:IN=eth0 OUT= MAC=00:00:00:00:00:05:00:00:00:00:00:00:00:00 SRC=192.168.0.101 DST=192.168.0.102 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=52472 DF PROTO=ICMP TYPE=8 CODE=0 ID=2438 SEQ=3
Oct 19 21:13:01 server kernel: [ 6458.385884] PING:IN=eth0 OUT= MAC=00:00:00:00:00:05:00:00:00:00:00:00:00:00 SRC=192.168.0.101 DST=192.168.0.102 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=52719 DF PROTO=ICMP TYPE=8 CODE=0 ID=2438 SEQ=4

예상 출력:

Oct 19 21:13:00 SRC=192.168.0.101

답변1

awk기본적으로 공백은 필드 구분 기호로 사용되므로 올바른 열만 인쇄하세요.

 $ cat file.txt
 
 Oct 19 21:13:00 server kernel: [ 6457.382677] PING:IN=eth0 OUT=
 MAC=00:00:00:00:00:05:00:00:00:00:00:00:00:00 SRC=192.168.0.101
 DST=192.168.0.102 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=52472 DF
 PROTO=ICMP TYPE=8 CODE=0 ID=2438 SEQ=3
$ awk '{ print $1, $2, $3, $11 }' file.txt

산출:

Oct 19 21:13:00 SRC=192.168.0.101

관련 정보