我正在使用bash脚本从日志文件中删除一些行。此日志文件的基本格式为:
field1:value1,field2 = value2,field3 = value3, field4 = value4,value5,value6,field5 = value7
有时会出现field1:value1相同的行,但其他一些信息相同或不同。我想过滤掉这些行,这样我只会查看具有相同“field1:value1”元组的任何东西的第一个实例。
如果你能找到特别简单的东西,我更喜欢一个很好的命令行单行。我绝对想把它保存在bash脚本中。这是在linux上,所以我们已经有了所有的命令行工具。
谢谢!
答案 0 :(得分:5)
使用awk
:
awk -F, '!arr[$1]++ { print }' LOGFILE
awk
程序使用数组来计算特定'field1:value1`字符串的次数,但仅在第一次打印输入行。