我想匹配打印第10个字段以下面数字开头的日志文件行 。我成功打印了第10个字段。如何打印整行。 总之,我想同时将第10个字段与多个字符串进行比较
tail -f *log|awk -F" " '/Gateway request received for service type Ussd/ {print $10}'|egrep '254720|254721|254722|254723|254724|254725|254726|254727|254728|254729|254710|254712|254713|254714|254715|254716|254717|254718|254719|254700|254701|254702'.*
答案 0 :(得分:0)
tail -f *log|awk '/Gateway (and rest)/ && $10~/254720|2542...and rest/'
应该这样做。
-F" "
没有必要$10
完全匹配数字,您可以使用$10>lower-bound && $10<upper-bound
代替$10~/regex/
答案 1 :(得分:0)
或许将数字缩减为正则表达式范围将有助于
$ ... | awk '/Gate... etc./ && $10~/25471[02-9]|25472[0-9]|25470[01]/'
或进一步分组
$ ... | awk '/Gate... etc./ && $10~/2547(1[02-9]|2[0-9]|0[01])/'