使用 bash 将 .txt 文件连接成 .csv
Posted
技术标签:
【中文标题】使用 bash 将 .txt 文件连接成 .csv【英文标题】:Concatenating .txt files into a .csv with bash 【发布时间】:2015-10-04 20:00:49 【问题描述】:我目前有三个文件file1.txt、file2.txt、file3.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
第二个文件更新为插入>
。如果这是一个错字,只需
paste -d ";" file1.txt file2.txt file3.txt
【讨论】:
如果您单击this link,您会看到所需输出中的>
是由 Marc B 的编辑打错的。你根本不需要在命令中使用sed
。以上是关于使用 bash 将 .txt 文件连接成 .csv的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 gsutil 将多个 csv 文件连接成一个具有单个标题的 csv 文件
使用 Cloud 功能将 TXT 文件转换为 CSV 并在 Google BigQuery 中填充数据
将多个 csv 文件连接成具有相同标题的单个 csv - Python