我有一些我想要过滤的日志。该日志包含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
答案 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