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")}'