比较两列

比较两列

如果下面的输出中第 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。 (请注意,脚本可以是单行的)。

相关内容