awk는 Null 값을 가진 새 열을 비교하고 추가합니다.

awk는 Null 값을 가진 새 열을 비교하고 추가합니다.

탭으로 구분된 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

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

관련 정보