【问题标题】:Is it possible to cast a quoted string to an integer in awk, while being transparent to non-quoted strings?是否可以将带引号的字符串转换为 awk 中的整数,同时对未带引号的字符串透明?
【发布时间】:2012-05-22 07:47:18
【问题描述】:

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

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 是否有更优雅的解决方案。

【问题讨论】:

    标签: awk gawk


    【解决方案1】:

    您需要去掉引号。您可以使用gsub("\"", "") 执行此操作。这将影响整个生产线。您可以像这样指定字段:gsub("\"", "", $7)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-09
      • 2017-08-21
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      相关资源
      最近更新 更多