首页 > 解决方案 > 如何在 bash 中并排打印多个 .csv 文件并找出这 3 个文件之间的区别

问题描述

我有 3 个 .csv 文件如何获得它们之间的区别例如:

输入 :

SYMBOL QTY      |     SYMBOL  QTY    | SYMBOL QTY 
A   -   100               A   -    100      A    -  90
B    -  100            B     -   50      B   -   100

输出:

A 90
B 50  

试过:

join -t"," -1 1 -2 1 -a1 file1.csv file2.csv | awk -F, ' BEGIN {
        print "ID,field,old,new"
} NF > 3 {
        if ( $3 != $5 )
                print $1, "cost", $3, $5
        if ( $2 != $4 )
                print $1, "version", $2, $4
} ' OFS=,

标签: bashscripting

解决方案


您可以使用粘贴。

paste  "yourFolderPath"/output1.csv "yourFolderPath"/output2.csv "yourFolderPath"/output3.csv > "yourFolderPath"/mergedFile.csv

请记住,粘贴的默认分隔符是制表符。您可以使用 -d 更改它以使用逗号。

paste -d ','

推荐阅读