循环遍历awk中的单列条件语句

时间:2017-04-11 13:32:27

标签: loops if-statement awk gawk

如果声明为真,我想打印一行,但我想循环几个变体。这可以作为批处理脚本使用:

Awk "($9==1) {print $0}" file > out.txt & type out.txt >> all_out.txt
Awk "($9==3) {print $0}" file > out.txt & type out.txt >> all_out.txt
Awk "($9==5) {print $0}" file > out.txt & type out.txt >> all_out.txt

但不是很优雅。这可以写入for循环或if语句吗?我在安装了cygwin的windows上使用gnuawk。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

尝试:

awk '($9==1) || ($9==3) || ($9==5)' Input_file  > all_out.txt

OR

awk '($9%2 != 0)' Input_file  > all_out.txt

考虑到你想把所有条件输出都放在一个文件中,请告诉我是不是这样。

答案 1 :(得分:1)

试试这个 -

this.router