【问题标题】:Concatenating .txt files into a .csv with bash使用 bash 将 .txt 文件连接成 .csv
【发布时间】: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

【问题讨论】:

  • 很好。祝你好运。你有问题吗?

标签: bash csv concatenation


【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多