複数の区切りファイルのデータを変数列を含む1つのファイルにまとめます。

複数の区切りファイルのデータを変数列を含む1つのファイルにまとめます。

私はスクリプトが初めてです。 Unixでファイルのマージの問題が発生しました。方向を探していましたが、偶然このサイトを見つけました。すばらしい投稿と回答をたくさん見ましたが、私の問題に対する解決策が見つかりませんでした。どんな助けにも感謝します..

3つのcsvファイル(> Apex_10_Latest.csv、Apex_20_Latest.csv、Apex_30_Latest.csv)があります。この3つのファイルの列数は異なります。通常、番号によっては、最新のファイルの末尾に新しい列が追加されることがあります。だから私は最新のヘッダーを取得し、3つのファイルすべてのデータを新しいファイルApex.csvにスタックしたいと思います。最新のファイルよりも列数が少ない古いファイルのデータをスタックするときは、適切な区切り文字を使用してデータをNULLで埋めたいと思います。

また、この作業は、同じフォルダー内の複数のファイルセット(それぞれ3つのファイル)に対して繰り返し実行する必要があります。 - Apex_10_Latest.csv, Apex_20_Latest.csv, Apex_30_Latest.csv - Apex.csv로 병합 - Code_10_Latest.csv, Code_20_Latest.csv, Code_30_Latest.csv - Code.csv로 병합 - Trans_10_Latest.csv, Trans_20_Latest.cs v. Trans_30_Latest.csv - ImportTrans.csv マージ

ソースファイルの形式とターゲットファイルの形式は次のとおりです。ソースファイル:

  • Apex_30_Latest.csv:
    ABCD
    1,2,3,4
    2,3,4,5
    3,4,5,6

  • Apex_20_Latest.csv:
    A、雨、種
    4,5,6
    5,6,7
    6,7,8

  • Apex_10_Latest.csv:
    A、雨
    7,8
    8,9
    9,10

意図したターゲットファイル:

  • Apex.csv
    ABCD
    1,2,3,4
    2,3,4,5
    3,4,5,6
    4,5,6,,
    5,6,7,,
    6,7,8,,
    7,8,,,
    8, 9,,,
    9,10,,,

ありがとうございます...

ベストアンサー1


ミラー(http://johnkerl.org/miller/doc/) いつものように簡単

mlr --csv unsparsify Apex_*_Latest.csv

あなたのため

A,B,C,D
1,2,3,4
2,3,4,5
3,4,5,6
4,5,6,
5,6,7,
6,7,8,
7,8,,
8,9,,
9,10,,

おすすめ記事