1

我正在使用 bash 脚本从日志文件中提取一些行。这个日志文件的基本格式是:

字段 1:值 1,字段 2=值 2,字段 3=值 3,字段 4=值 4,值 5,值 6,字段 5=值 7

有时会有一些行 field1: value1 相同,但其他一些信息要么相同,要么不同。我想过滤掉这些行,所以我只 grep 出任何具有相同“field1:value1”元组的第一个实例。

如果你能找到特别简单的东西,我更喜欢一个不错的命令行单行。我绝对想把它保存在 bash 脚本中。这是在 linux 上,所以我们有所有可用的命令行工具。

谢谢!

4

1 回答 1

5

使用awk

awk -F, '!arr[$1]++ { print }' LOGFILE

awk程序使用一个数组来记录特定 'field1: value1' 字符串出现的次数,但仅在第一次打印传入的行。

于 2013-06-14T13:28:26.577 回答