탭으로 구분된 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
첫 번째 열이 비어 있는지 명시적으로 확인할 필요는 없습니다. 문자열을 숫자와 비교하면 숫자가 문자열로 변환됩니다. 사전순으로 비교할 때 빈 문자열은 항상 비어 있지 않은 문자열보다 앞에 있으므로 비어 있지 않은 문자열보다 크거나 같을 수 없습니다.