使用 bash 将 .txt 文件连接成 .csv

Posted

技术标签:

【中文标题】使用 bash 将 .txt 文件连接成 .csv【英文标题】:Concatenating .txt files into a .csv with bash 【发布时间】:2015-10-04 20:00:49 【问题描述】:

我目前有三个文件file1.txtfile2.txtfile3.txt,我想将它们合并为一个文件bigfile.csv

文件的当前格式为:

file1.txt

28-02-14 17:50:58 01401009 17756100
28-02-14 17:50:58 01401009 17756100
28-02-14 17:50:58 01401009 17756100
28-02-14 17:50:58 01401009 17756100

file2.txt

441343******6401
100052******0314
100051******2784
100056******7772

file2.txt

150000
150000
100000
5000

想要的输出是

28-02-14 17:50:58 01401009 17756100;>441343******6401;150000

【问题讨论】:

很好。祝你好运。你有问题吗? 【参考方案1】:

您可以使用以下命令:

paste -d ';' file1.txt file2.txt file3.txt > bigfile.csv

示例输出:

$ cat bigfile.cvs
28-02-14 17:50:58 01401009 17756100;441343******6401;150000
28-02-14 17:50:58 01401009 17756100;100052******0314;150000
28-02-14 17:50:58 01401009 17756100;100051******2784;100000
28-02-14 17:50:58 01401009 17756100;100056******7772;5000
$

【讨论】:

【参考方案2】:
 paste -d ";" file1.txt <(sed s/^/\>/ file2.txt) file3.txt

第二个文件更新为插入&gt;。如果这是一个错字,只需

paste -d ";" file1.txt file2.txt file3.txt

【讨论】:

如果您单击this link,您会看到所需输出中的&gt; 是由 Marc B 的编辑打错的。你根本不需要在命令中使用sed

以上是关于使用 bash 将 .txt 文件连接成 .csv的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 gsutil 将多个 csv 文件连接成一个具有单个标题的 csv 文件

使用 Cloud 功能将 TXT 文件转换为 CSV 并在 Google BigQuery 中填充数据

将多个 csv 文件连接成具有相同标题的单个 csv - Python

BASH:根据公共字段名称连接 2 个 CSV 文件

形成一个循环将多个 .csv 文件连接成一个 .csv 文件

r - 将一个 csv 文件拆分为多个 txt 文件