我有一个数据包高速运行的文件。 我想在找到ip后将所有数据包从主文件中提取到另一个文件。
主文件" Main.cap" -
Device:A
Host:B
IP:0.0.0.0
Time:123654
Device:B
Host:C
IP:1.1.1.1
Time:125423
Device:C
Host:D
IP:1.1.1.1
Time:129423
Device:E
Host:F
IP:1.1.1.1
Time:125423
Device:G
Host:H
IP:1.2.5.6
Time:12543
现在从这个文件中我想要从IP 1.1.1.1
中提取所有数据包,即所有4个字段和所有3个数据包,然后应该做什么?
总之,我们必须grep这个ip 1.1.1.1
,然后找到2个新行,一个在ip之上,一个在ip之后。
答案 0 :(得分:2)
awk '/IP:1\.1\.1\.1/' ORS='\n\n' RS= input-file
将RS
设置为空字符串会使awk将空行视为记录分隔符,因此您只需匹配IP即可打印整个记录。 (使用\.
匹配文字.
)分配ORS并不是绝对必要的,但它会使输出更漂亮。