【问题标题】:How can I append additional fields to each line in a CSV file?如何将其他字段附加到 CSV 文件中的每一行?
【发布时间】:2012-12-29 09:09:54
【问题描述】:

这不是关于在文件中添加新的文本行的问题;这是关于将数据附加到每一行。

我的 CSV 文件中有 300 多行,我想在每行中添加更多文本,用逗号分隔(用于 MS Excel 图表的格式)。

来自 ex.txt 文件:

12:11, 321
12:12, 23

我想在每一行添加更多字段,如下所示:

12:11, 321, 222, 55
12:12, 23, 33, 402

【问题讨论】:

  • 那些额外的字段是从哪里来的?

标签: linux bash shell csv scripting


【解决方案1】:

使用 GNU CoreUtils 中的粘贴

假设您没有附加静态字符串,您的问题是您需要从一个文件中读取文本并从另一个文件中附加文本。这正是paste 命令的作用。

示例文件

file1 的内容:

12:11, 321
12:12, 23

file2 的内容:

 222, 55
 33, 402

注意file2 第一列中的前导空格。这是保留您描述的格式所必需的,该格式似乎是 CSV,每个分隔符后都有前导空格。

示例调用和输出

$ paste -d, file1 file2
12:11, 321, 222, 55
12:12, 23, 33, 402

【讨论】:

    【解决方案2】:
     while read line; do
         # modify $whatYouWantToAppend
         echo -e "${line} ${whatYouWantToAppend}\n" >> newTest.txt
     done < test.txt
    

    【讨论】:

      猜你喜欢
      • 2020-06-16
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多