您好我有2名CSV在下面的格式,(基本上是一個電子郵件列表和時間,我們已經通過發送電子郵件的數量):如何比較和排序2 CSV的顯示差異
file1.csv
Email,Value
[email protected],2
[email protected],4
[email protected],1
[email protected],6
file2.csv
Email,Value
[email protected],3
[email protected],6
[email protected],8
[email protected],2
每個表中的值可能是不同的,我想要做的就是將結果輸出到一個新的CSV看起來像這樣:
file3.csv
Email,Value1,Value2
[email protected],2,3
[email protected],4,6
[email protected],1,8
[email protected],6,2
我有一個bash
腳本,我從別的地方把和它的工作的一部分,但它沒有列出我要找的結果。
任何人都可以幫助一個bash腳本嗎?
#!/bin/bash
join -t"," -1 1 -2 1 -a1 file1.csv file2.csv | awk -F, ' BEGIN {
print "Email,Value"
} NF > 3 {
if ($3 != $5)
print $1, $3, $5
if ($2 != $4)
print $1, $2, $4
} ' OFS=,
這是我通過以下得到的結果:
awk 'BEGIN{FS=OFS=","; printf "Name,Value1,Value2\n"}NR >1 &&
FNR==NR{map[$1]=$2; next}$1 in map{$(NF+1)=map[$1]; print}' file2.csv
file1.csv
結果:
Name,Value1,Value2
,[email protected],2
,[email protected],4
,[email protected],1
[email protected],6,2
,你能否告訴我們,每部分樣本值你需要 – Inian
,你可以發佈你已經嘗試過什麼的_exact_輸出? – Inian
你在file1中有一個輸入錯誤,行號用','用點'email4 @ email,com,6'替換爲'email4 @ email.com,6' – Inian