循环遍历 awk 中的单列条件语句
Loop over a single column condition statement in awk
我想在语句为真时打印一行,但我想遍历多个变体。这是一个批处理脚本:
Awk "(==1) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
Awk "(==3) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
Awk "(==5) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
但不是很优雅。这可以写入for循环或if语句吗?我在安装了 cygwin 的 windows 上使用 gnuawk。
如有任何帮助,我们将不胜感激。
尝试:
awk '(==1) || (==3) || (==5)' Input_file > all_out.txt
或
awk '(%2 != 0)' Input_file > all_out.txt
考虑到您想将所有条件输出到一个文件中,如果不是这种情况请告诉我。
试试这个 -
$ awk '( ~ /^1$|^3$|^5$/) {print [=10=]}' file
我想在语句为真时打印一行,但我想遍历多个变体。这是一个批处理脚本:
Awk "(==1) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
Awk "(==3) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
Awk "(==5) {print [=10=]}" file > out.txt & type out.txt >> all_out.txt
但不是很优雅。这可以写入for循环或if语句吗?我在安装了 cygwin 的 windows 上使用 gnuawk。
如有任何帮助,我们将不胜感激。
尝试:
awk '(==1) || (==3) || (==5)' Input_file > all_out.txt
或
awk '(%2 != 0)' Input_file > all_out.txt
考虑到您想将所有条件输出到一个文件中,如果不是这种情况请告诉我。
试试这个 -
$ awk '( ~ /^1$|^3$|^5$/) {print [=10=]}' file