데이터 줄을 추출하려는 큰 텍스트 파일이 있습니다. 지정할 수 있는 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