【发布时间】:2017-06-02 11:23:56
【问题描述】:
我的文本文件如下所示
date="2017-10-10" ip=192.168.1.1:22 inbound=100 outbound=100
date="2017-10-10" ip=192.168.1.1:22 inbound=100
date="2017-10-10" ip=192.168.1.1:22 outbound=100
我正在使用下面的 awk 代码打印匹配的字符串并提取“=”之后的任何内容。
awk '{for(i=1;i<=NF;i++)if($i~/inbound=/)print $(i)}' | cut -d : -f1 | cut -d = -f2
例如,我会搜索“inbound=”并提取“100”。 但棘手的部分是“入站”不会出现在文本的所有行中 现在,如果一行没有“入站”一词,我想打印“0”。
预期输出
100
100
0 Not Found
【问题讨论】:
-
"=" 之后的内容 - 不仅适用于
inbound