【问题标题】:AWK command to input new csv column输入新 csv 列的 AWK 命令
【发布时间】:2021-08-01 03:29:15
【问题描述】:

我有一个已经有两列的 .csv。我有一个带有 1 列数据的 percent.txt 文件,我想将其作为一整列输入到 csv @ column 3..

我似乎无法制定命令..

这是我拥有的,但不起作用

awk -F, '{getline f1 <"dels_20210508.csv" ;print f1,$3}' OFS=, percent.txt

我想要的输出将是原始 csv 如下(col3-data,将来自 percent.txt 第一列)

col1-data col2-data col3-data
col1-data col2-data col3-data
col1-data col2-data col3-data
col1-data col2-data col3-data

【问题讨论】:

  • 请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。
  • 您的问题与标签 jq(这是处理 JSON 数据的工具,而不是 CSV)有何关系?
  • 你考虑过使用paste吗?如果 percent.txt 足够简单,如果你真的想使用 awk,我建议print $0 "," f1
  • @triplee - 请考虑重新打开此 Q 或至少提供一个问题链接,以解决此处的不同问题 - 在 CSV 文件中添加非 CSV 列,同时保持 CSV 文件的正确性。

标签: awk jq


【解决方案1】:

除非percentage.txt 是有效的单列 CSV 文件,否则您必须先将其设为“CSV 安全”,然后才能将其粘贴到 CSV 文件中。由于您将 作为标签包含在内,因此可能有兴趣展示如何使用 jq 完成此操作。

假设 .csv 文件是有效的 CSV 并且 percentage.txt 和 .csv 文件正确匹配 w.r.t。标题,您可以一起使用jqpaste,如下所示:

paste -d, dels_20210508.csv <(jq -Rr '[.]|@csv' percent.txt)

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2012-10-06
    • 2013-07-29
    • 2014-07-07
    • 2021-09-02
    相关资源
    最近更新 更多