IP 주소를 필터링하는 스크립팅 도움말

IP 주소를 필터링하는 스크립팅 도움말

데이터 줄을 추출하려는 큰 텍스트 파일이 있습니다. 지정할 수 있는 IP 주소가 포함된 모든 줄을 추출하고 싶습니다(zzzz).

2015-02-26 00:00:00 Local3.Info x.x.x.x Feb 26 05:19:52  y.y.y.y 00:05:06:17 , C8:D7:19:61:D1:9B DHCP REQ: Valid IP->Valid IP
2015-02-26 00:00:00 Local3.Info x.x.x.x Feb 26 05:32:56  y.y.y.y 00:0D:8A:80 , 48:F8:B3:54:43:EB DHCP REQ: Valid IP->Valid IP
2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:32:56  z.z.z.z BTS Sending CDR: 067,H,00:F0:3A:99,00:0D:8A:80,48:F8:B3:54:43:EB,z.z.z.z,10780,906
2015-02-26 00:00:00 Local3.Info x.x.x.x Feb 26 05:32:56  y.y.y.y 00:0D:8A:80 , 48:F8:B3:54:43:EB DHCP ACK: Valid IP->Valid IP: y.y.y.y
2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:00:11  z.z.z.z AAA: Modulation Change to 16QAM recvd from 00:16:C4:ED

따라서 새 파일의 출력은 다음과 같습니다.

2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:32:56  z.z.z.z BTS Sending CDR: 067,H,00:F0:3A:99,00:0D:8A:80,48:F8:B3:54:43:EB,z.z.z.z,10780,906
2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:00:11  z.z.z.z AAA: Modulation Change to 16QAM recvd from 00:16:C4:ED

어떤 도움이라도 대단히 감사하겠습니다! 미리 감사드립니다

답변1

당신은 사용할 수 있어야합니다grep

grep -F 'z.z.z.z' logfile > results

-F( ) 인수 --fixed-strings는 마침표 구분 기호가 정규식 구문('모든 문자'와 일치)을 사용하여 해석되는 것이 아니라 리터럴 마침표로 해석되는 것을 방지합니다.

답변2

grep이나 awk를 사용할 수 있습니다.

grep 'z.z.z.z' your_file

awk에는 더 많은 옵션이 있습니다

awk '/z.z.z.z/ {print}' your_file

하지만 awk는 더 많은 형식을 지정할 수 있고 더 많은 옵션을 제공합니다.

보다https://www.digitalocean.com/community/tutorials/how-to-use-the-awk-언어-to-manipulate-text-in-linux

그리고

http://www.grymoire.com/Unix/Awk.html

자세한 내용은

수많은 다른 옵션들, Perl도 작동할 것입니다...

답변3

혹시 놓친 사람 있나요 sed? 여기 있습니다:

sed -i.bak '/z\.z\.z\.z/!d' file.txt

원본 파일은 "file.txt.bak"로 백업되고, 수정된 파일은 "file.txt"로 백업됩니다. 원본 파일을 백업하고 싶지 않은 경우:

sed -i '/z\.z\.z\.z/!d' file.txt

출력을 저장하지 않고 인쇄만 하려는 경우:

sed '/z\.z\.z\.z/!d' file.txt

답변4

펄 대안:

$ perl -lane 'print if /z.z.z.z/'  < input.txt                                                                               
2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:32:56  z.z.z.z BTS Sending CDR: 067,H,00:F0:3A:99,00:0D:8A:80,48:F8:B3:54:43:EB,z.z.z.z,10780,906
2015-02-26 00:00:00 Local5.Notice   x.x.x.x Feb 26 05:00:11  z.z.z.z AAA: Modulation Change to 16QAM recvd from 00:16:C4:ED

관련 정보