awk에서 삼항 연산자를 사용하여 파일에 쓰는 방법은 무엇입니까?

awk에서 삼항 연산자를 사용하여 파일에 쓰는 방법은 무엇입니까?

awk조건이 확인될 때 파일에 쓰는 명령의 삼항 구문은 무엇입니까 ?

아래에서 시도해 보았으나 주어진 입력에 대해 구문 오류가 발생했습니다!

샘플 데이터 입력 infile.txt:

1,1,c
0,3,b
0,0,a
1,5,z
1,5,y
5,5,x

주문하다:

awk -F',' '{print (($1==$2)?>"success.txt": >"failed.txt")}' infile.txt
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk:                  ^ syntax error
awk: {print (($1==$2)?>"success.txt": >"failed.txt")}
awk:                                                ^ syntax error

을 사용할 수 있지만 if/else삼항 구문의 가능성에 대해 알고 싶습니다. 어쩌면 리디렉션을 >잘못 사용하고 있는 것일까요?

awk -F',' '{if ($1==$2) print >"success.txt";else print >"failed.txt"}' infile.txt

답변1

삼항 연산자가 리디렉션이 아닌 파일만 선택하도록 만듭니다.

awk -F',' '{print >(($1==$2)?"success.txt": "failed.txt")}'

관련 정보