使用awk从日志文件中提取包含文本和数字的特定行

时间:2016-12-07 23:03:34

标签: linux csv awk

我暂时没有使用我的linux技能,而且我正在努力从csv日志文件中提取某些行。

该文件的结构如下:

code,client_id,local_timestamp,operation_code,error_code,etc

我想只提取具有特定代码和正client_id大于0的文件行。

例如,如果我有这些行:

message_received,1,134,20,0,xxx<br>
message_ack,0,135,10,1,xxx<br>
message_received,0,140,20,1,xxx<br>
message_sent,1,150,30,0,xxx

我只想提取具有代码message_received和正client_id&gt;的行。 0,导致第一行:

message_received,1,134,20,0,xxx

我想使用awk有点像: 我知道的awk '/message_received,[[:digit:]]>0'/ my log.csv并不完全正确..但我如何在一个班轮中实现这一目标?

1 个答案:

答案 0 :(得分:1)

这可能是你想要的:

awk -F, '($1=="message_received") && ($2>0)' mylog.csv

如果没有,请编辑您的问题以澄清。