![awk는 Null 값을 가진 새 열을 비교하고 추가합니다.](https://linux55.com/image/172649/awk%EB%8A%94%20Null%20%EA%B0%92%EC%9D%84%20%EA%B0%80%EC%A7%84%20%EC%83%88%20%EC%97%B4%EC%9D%84%20%EB%B9%84%EA%B5%90%ED%95%98%EA%B3%A0%20%EC%B6%94%EA%B0%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
탭으로 구분된 csv 파일에 null 값을 입력했습니다. 예를 들어 값이 >= 800인지 확인하고 결과를 새 열에 추가하고 싶습니다.
입력하다
a
623
616
803
산출
a b
623 no
no
616 no
803 yes
답변1
awk -v minval=800 'BEGIN{ FS=OFS="\t" }
FNR==1{ print $0, "b"; next } # print header
{ print $0, ($1 >= minval ? "yes" : "no") }
' file
산출:
a b
623 no
no
616 no
803 yes
첫 번째 열이 비어 있는지 명시적으로 확인할 필요는 없습니다. 문자열을 숫자와 비교하면 숫자가 문자열로 변환됩니다. 사전순으로 비교할 때 빈 문자열은 항상 비어 있지 않은 문자열보다 앞에 있으므로 비어 있지 않은 문자열보다 크거나 같을 수 없습니다.