2列の比較

2列の比較

下の出力の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

3回条件が満たされれば3回印刷が可能ですが、1回だけ印刷したいと思います。

ベストアンサー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が印刷されます。 (スクリプトは1行にすることができます。)

おすすめ記事