提取数字并使用Awk进行比较

时间:2015-08-03 21:27:32

标签: awk

给定以下格式的行文件,我想打印那些时间大于X秒的行。

2015-08-03 00:43:01,跑步时间= 10秒

如何使用单行awk来实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:3)

假设秒数始终在倒数第二个字段中,您可以使用以下内容:

awk '$(NF-1) > 5' file

NF是字段数,因此$(NF-1)获取倒数第二个字段的值。如果该值大于5,则打印该行。

要使用shell变量,您可以执行以下操作:

m=5
awk -v max="$m" '$(NF-1) > max' file

答案 1 :(得分:0)

如果您的日志格式已修复,则可以执行此操作。例如大于9。

awk '/time taken to run/ && $8>9' log.txt