2017-06-09 4 views
0

私はBASHを使ってこのように2つのcsvファイルを融合しようとしています。2つのcsvファイルを融合する

files1.csv:

Col1;Col2 
a;b 
b:c 

file2.csv

Col3;Col4 
1;2 
3;4 

result.csv

Col1;Col2;Col3;Col4 
a;b;0;0 
b;c;0;0 
0;0;1;2 
0;0;3;4 

「0年代結果ファイルでちょうど空の細胞です。 私はペーストコマンドを使ってみましたが、それは私が望むように融合しません。

paste -d';' file1 file2 

BASHを使用する方法はありますか?

ありがとうございました。 awkでは

答えて

1

ワン:

$ awk -v OFS=";" ' 
FNR==1 { a[1]=a[1] (a[1]==""?"":OFS) $0; next } # mind headers 
FNR==NR { a[NR]=$0 OFS 0 OFS 0; next }    # hash file1 
     { a[NR]=0 OFS 0 OFS $0 }     # hash file2 
END  { for(i=1;i<=NR;i++)if(i in a)print a[i] } # output 
' file1 file2 
Col1;Col2;Col3;Col4 
a;b;0;0 
b:c;0;0 
0;0;1;2 
0;0;3;4 
+1

は、あなたはそれが働いてありがとう! – Bvcawn

関連する問題