ami*_*mah 2 regex linux shell awk grep
我需要一个grep命令的帮助:
grep match-word tomcat-0.log.* | grep "TOMCAT BENCH" | grep -v Normal
目前的输出类似于:
tomcat-0.log:TOMCAT BENCH: match_word random-text 1420 elapsed Thu 2016-09-22 06:31:04:928 PDT <SessionID: id> <RequestID: reqId> 
我想修改它以仅显示经过值大于数字的那些行 3000
这个词elapsed总是存在,而数字就是之前 的单词elapsed.
你能否修改grep命令来过滤前一个单词并将其与一个数字进行比较?
使用gnu awk可以在一个命令中完成:
awk '/TOMCAT BENCH/ && !/Normal/ && match($0, / ([0-9]+) elapsed /, a) && a[1] > 3000' tomcat-0.log.*