在awk中是否可以将带引号的字符串强制转换为整数,同时对不带引号的字符串透明?

在awk中是否可以将带引号的字符串强制转换为整数,同时对不带引号的字符串透明?,awk,gawk,Awk,Gawk,假设我的输入文件中有一行如下所示: 7162 "cw_107373" 65 65 0.197606944 328.935809057398 "91.67" "11/12" "0.89" "47/53" 0 N/A Active 您将看到一些数值字段被引用,而一些字段则没有。 我希望能够与它们进行数字比较,同时忽略引号 例如,我现在不能做 awk "$7 > 90{print}" Input.tsv 因为$7是一个带引号的数字字符串 我知道我可以对文件进行预处理以删

假设我的输入文件中有一行如下所示:

7162    "cw_107373" 65  65  0.197606944 328.935809057398    "91.67" "11/12" "0.89"  "47/53" 0   N/A Active
您将看到一些数值字段被引用,而一些字段则没有。 我希望能够与它们进行数字比较,同时忽略引号

例如,我现在不能做

awk "$7 > 90{print}" Input.tsv
因为$7是一个带引号的数字字符串


我知道我可以对文件进行预处理以删除所有引号,但我想知道直接使用awk是否有更优雅的解决方案。

您需要去掉引号。您可以使用
gsub(“\”,”)
。这将影响整行。您可以指定如下字段:
gsub(“\”,“”,$7)