![삼항 연산자를 사용한 조건식으로 awk 인쇄](https://linux55.com/image/129877/%EC%82%BC%ED%95%AD%20%EC%97%B0%EC%82%B0%EC%9E%90%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%9C%20%EC%A1%B0%EA%B1%B4%EC%8B%9D%EC%9C%BC%EB%A1%9C%20awk%20%EC%9D%B8%EC%87%84.png)
입력 예:
1:2:3:0:5
1:2:3::5
이상한 처리:
$ echo -e "1:2:3:0:5\n1:2:3::5"|awk -F: '{if($4!="") print NR,$4; else print NR,"-"}'
1 0
2 -
질문: 위의 내용을 짧은 if 표기법으로 실행할 수 있나요? 비슷한 것을 시도했지만 위에서 언급한 대로 출력이 반환되지 않습니다.
$ echo -e "1:2:3:0:5\n1:2:3::5"|awk -F: '{print NR,($4 ? $4 : "-")}'
1 -
2 -
답변1
0
false
조건에 따라 평가 및 $4 ? $4 : "-"
달성되었습니다 "-"
. 네 번째 필드가 비어 있는지 확인하려면
조건을 지정하세요.$4 != ""
awk -F':' '{ print NR, ($4 != ""? $4 : "-") }' file