B3l*_*luT 3 bash awk grep filter
我在尝试grep(过滤)一个整数值的日志文件时遇到问题。
logfile.log:
2014-11-16 21:22:15 8 10.133.23.9 PROXIED ...
2014-11-16 21:22:15 1 163.104.40.133 authentication_failed DENIED ...
2014-11-16 21:22:15 15 163.104.40.134 authentication_failed DENIED ...
2014-11-16 21:22:16 9 163.104.124.209 PROXIED ...
Run Code Online (Sandbox Code Playgroud)
我有3列一个int: ,8,1,。159
我只需要,如果到grep: value > 10。
就像是:
cat logfile.log | grep {$2>10}
2014-11-16 21:22:15 15 163.104.40.134 authentication_failed DENIED ...
Run Code Online (Sandbox Code Playgroud)
这应该使!
$ awk '$3>10' file
2014-11-16 21:22:15 15 163.104.40.134 authentication_failed DENIED ...
Run Code Online (Sandbox Code Playgroud)
与$3我们指的是第三字段中,以使得$3>10装置:线具有第三场大于10更大如果这是完成的,该条件为真,并因此awk执行其默认行为:打印线。
您当然可以说:只打印特定的字段,例如,您可以说awk '$3>10 {print $1}' file。