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-language-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 の代替:

$ 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

関連情報