如果下面的输出中第 3 列中的所有字段都正常,我想打印 OK。
port mcg clk stat
------ ------- ----
OK EXTCLK1 OK
OK CLK3B OK
OK CLK3A OK
我试过这样
a=`cat file2.txt | awk '{if ($1 == $3) {print "sync is OK";} else { print "sync is NOK";}}'`
echo "$a" > file3.txt
如果条件满足三次,则可以打印三次,但我只想打印一次。
答案1
尝试
awk 'BEGIN { ok=1 ; }
NR>2 { $3 != "OK" ; print "sync is NOK"; ok = 0 ; exit ; }
END { if ( ok ) print "sync is OK";} ' file2.txt > file3.txt
这将打印一个 NOK/OK。 (请注意,脚本可以是单行的)。