2つのファイルを列ごとにマージし、エントリが欠落している場合は0を追加します。

2つのファイルを列ごとにマージし、エントリが欠落している場合は0を追加します。

以下のように2つのファイルがあります。

  • File1 File1には5つの国があります。

    >USA
    >England
    >France
    >Japan
    >Thailand

  • File2 File2には4つしかありません。

    >USA
    >England
    >Japan
    >Thailand

paste -d "," file1.txt file2.txt12つのファイルをマージするために使用します

  • 出力

    >USA ,>USA
    >England,>England
    >France,>Japan
    >Japan,>Thailand
    >Thailand,

ここに示すように、File2 -Franceに欠落している値があるため、2つの出力ファイルのリストの順序が一致しません。代わりに「フランス」以降は変わりました。

- 欲求出力


    >USA       >USA
    >England   >England
    >France    >0 (or any symbols)
    >Japan     >Japan
    >Thailand  >Thailand 

     

2つのファイルをマージし、欠落値を0に置き換えますが、残りの順序は一致するようにするUNIXステートメントをどのように作成できますか?追加、変更、修正すべき事項paste -d "," file1.txt file2.txt1

どんな助けでも大変感謝します。ありがとうございます。

ベストアンサー1

「すべての記号」は大丈夫だったので、diffだけで十分です。

diff -w -y file1 fiel2

    >USA                                >USA
    >England                            >England
    >France                           <
    >Japan                              >Japan
    >Thailand                           >Thailand

行が不足しているか、またはで表され、>それぞれ<file2または1に表示されます。-w比較中、スペースは無視されます。

おすすめ記事