我在制表符分隔的 csv 文件中输入了带有空值的输入。我想检查一个值是否为例如 >= 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
您不需要显式检查第一列是否为空。如果将字符串与数字进行比较,数字将转换为字符串。按字典顺序比较时,空字符串始终位于任何非空字符串之前,因此它永远不会大于或等于非空字符串。