두 열 비교

두 열 비교

아래 출력의 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가 인쇄됩니다. (스크립트는 한 줄일 수 있습니다.)

관련 정보