我有一个文本文件,其中包含一些细节。我想grep的唯一ip地址和打印所有的元组,该匹配的ip地址。
输入文本文件包含以下详细信息:
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.45.67.890:56789 [111.111.111.111:12345] -> 117.140.11.11:123 (TCP)
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.45.67.890:12345 [111.111.111.111:12345] -> 110.140.11.11:123 (TCP)
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.45.67.890:56789 [111.111.111.111:12345] -> 117.140.11.11:123 (TCP)
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.75.88.860:98765 [111.111.111.111:12345] -> 117.140.79.118:123(UDP)
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.75.88.860:98765 [111.111.111.111:12345] -> 117.140.79.118:123(UDP)
我需要的输出:
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.45.67.890:12345 [111.111.111.111:12345] -> 110.140.11.11:123 (TCP)
Jan 11 11:11:11 2020-12-01 11: 11:11: {ABC-ABCDE-AB-123}ABCDEFGHI_ABCDEFG_ABCD: application:none, ab0.567 123.75.88.860:98765 [111.111.111.111:12345] -> 117.140.79.118:123(UDP)
我需要整行,IP必须唯一
我不关心其他列,我只希望所有行的ip地址必须是唯一的。此位置ip在所有输出行中必须是唯一的123.75.88.860:98765 [111.111.111.111:12345] -〉117.140.79.118:123(UDP)
2条答案
按热度按时间j91ykkif1#
一个简单的,检查一下第17列:
blmhpbnm2#
我仍然不确定我是否完全理解了您的问题陈述,但我认为您所问的问题不能仅用
grep
工具来完成。也许这个
perl
命令可以满足您的需要?(假设输入文件名为input
)这将输出第一个IP字段中包含每个唯一IP地址(忽略端口号)的第一行。它的工作原理是对该行中看起来像IP地址的第一个子字符串进行模式匹配,并查询名为
seen
的散列以确定这是否是提供该IP地址的第一行。如果是,则输出该行。如果这仍然不是你所需要的,请尝试进一步澄清这个问题。