从日志文件中删除双 IP 地址

时间:2021-02-23 11:16:51

标签: linux logging ip

我有一些日志文件。在日志文件中有一些带有双 IP 地址的行。 示例:

127.0.0.1 - - [02/Feb/2021:10:26:41 +0100] "GET /file"
127.0.0.1 - - [02/Feb/2021:10:26:44 +0100] "GET /file"
127.0.0.1 - - [02/Feb/2021:10:26:47 +0100] "GET /file"

我知道时间戳不同,但这并不重要。现在我想删除除一个条目之外的所有条目。注意:我不知道日志中的 IP 地址,因此工具/过滤器应自动查找重复项。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用awk

awk '{ map[$1]=$0 } END { for ( i in map ) { print map[i] } }' *.log

在我们处理文件的每一行时,使用字段空间分隔的字段作为索引和行作为值创建一个数组映射。在文件处理结束时,循环打印值/行的数组。

相关问题