Как я могу распечатать несколько файлов .csv бок о бок в Bash и найти разницу между 3 - PullRequest
0 голосов
/ 12 октября 2019

У меня есть 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=,

1 Ответ

0 голосов
/ 12 октября 2019

Вы можете использовать пасту.

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

Просто имейте в виду, что разделителем по умолчанию для вставки является символ табуляции. Вы можете изменить это с -d, чтобы использовать запятые.

paste -d ','
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...