我怎么能唤醒包含某个值的线条&在上面的日志?

时间:2018-01-18 21:57:20

标签: awk

我有一些我想要过滤的日志。该日志包含IP& UID在最后。我想只复制具有特定UID值以及高于该值的任何行。

日志:

1.2.4.5 1000
5.4.3.2 2000
7.4.2.1 1000
1.3.5.2 5000

例如,我只想复制包含2000以上任何值的行,并将其移动到单独的文件中。我已经尝试了很多没有运气的awk命令。

awk -F: '{if ($3 > 2000) { print $1 ":" $3 } }' log.txt > newlog.txt

2 个答案:

答案 0 :(得分:1)

这样可以添加你想要的冒号分隔符:

awk '$2>2000' < log.txt | awk '{print $1 ":" $2}' > newlog.txt

newlog.txt输出

  

1.3.5.2:5000

答案 1 :(得分:0)

作为过滤器,您只需要测试。测试的真实性或虚假性将通过打印真实导致过滤。

示例:

$ echo "1.2.4.5 1000
5.4.3.2 2000
7.4.2.1 1000
1.3.5.2 5000" | awk '$2>2000'
1.3.5.2 5000