Linuxで2つのキーに基づいて長さが等しくない2つのファイルをマージする

ezgikoker

長さが異なる2つのtxtファイルがあります。

File 1:
Albania 20200305    0
Albania 20200306    0
Albania 20200307    0
Albania 20200308    0
Albania 20200309    3
Albania 20200310    7
Albania 20200311    4
Albania 20200312    2
File 2: 
Europe  Albania 20200309    2
Europe  Albania 20200310    6
Europe  Albania 20200311    10
Europe  Albania 20200312    11
Europe  Albania 20200313    23
Europe  Albania 20200314    33

File1の1列目と2列目がFile2の2列目と3列目と同じである場合、File2の最後にFile1の3.列を追加するFile3を作成したいと思います。次のようになります。

File3:
Europe  Albania 20200309    2   3
Europe  Albania 20200310    6   7
Europe  Albania 20200311    10  4
Europe  Albania 20200312    11  2

私が試してみました

awk 'NR==FNR{A[$1,$2]=$3;next} (($2,$3) in A) {print $0, A[$1,$2]}' file1.txt file2.txt > file3.txt

ただし、ファイル2を印刷するだけで、File1の3番目の列は追加されません。

問題を解決するのを手伝ってくれませんか。

前もって感謝します!

RavinderSingh13

あなたのアプローチは正しいですが、のように印刷する必要がありA[$2,$3]ますがA[$1,$2]、配列Aに存在しないものを使用しています(file1の1番目、2番目の列はfile2の2番目と3番目の列と比較する必要があるため)したがって、現在の行の値のみを印刷しますfile3のfile2。

awk 'NR==FNR{a[$1,$2]=$3;next} (($2,$3) in a) {print $0, a[$2,$3]}' file1 file2

リンクも参照してください(ここに素敵なリンクを提供してくれたJamesに感謝します)大文字で変数を使用すべきではない理由

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

キーとしての列に基づいて2つのファイルをマージする方法

分類Dev

キーと二次キーに基づいて2つのcsvファイルをマージします

分類Dev

2つの列の一致に基づいて2つのファイルをマージしないawk

分類Dev

AWK:キーと最新の日付に基づいて2つのファイルをマージします

分類Dev

AWKを使用して、複数の条件に基づいて2つのファイルをマージする

分類Dev

1つの列に基づいて2つのファイルをマージするAwk

分類Dev

1つの列に基づいて2つのファイルをマージする

分類Dev

jqを使用して共通のキーと値のペアに基づいて2つのJSONファイルをマージする

分類Dev

共通のキーに基づいてawkで3つのファイルをマージする

分類Dev

2つの列の一致に基づいて2つのファイルをマージするにはどうすればよいですか?

分類Dev

Rの同じ列に基づいて2つのファイルをマージ/一致させる方法

分類Dev

行が繰り返される共通フィールドに基づいて2つのファイルをマージ/結合する方法

分類Dev

Pythonのヘッダー値に基づいて2つのcsvファイルをマージする

分類Dev

日付に基づいて2つのデータフレームを長い形式でマージする

分類Dev

ファイル名の最初の2つの単語に基づいてPDFをマージします

分類Dev

2つのjsonファイルをマージし、一致するキー値に基づいて属性値を取得します

分類Dev

共通の列値に基づいて2つのファイルをマージします

分類Dev

共通データに基づいて 2 つのファイルをマージする

分類Dev

パンダ:複数の列に基づいて2つのファイルをマージする

分類Dev

共通の列に基づいて2つのファイルをマージする

分類Dev

共通の列に基づいて 2 つの csv ファイルをマージする

分類Dev

最初の列に基づいて、重複行なしで2つのファイルを並べ替えてマージします

分類Dev

最初の列に基づいて、重複行なしで2つのファイルを並べ替えてマージします

分類Dev

日時列に基づいて長さが等しくない2つのデータフレームを比較する方法

分類Dev

部分一致に基づいて2つのファイルをマージします

分類Dev

変数に基づいて2つのファイルをマージするExcel

分類Dev

いくつかの基準に基づいて2つのテーブルをマージするクエリ

分類Dev

UNIXの1つの一致する列に基づいて2つのcsvファイルをマージする方法。両方のファイルで列の位置が異なります

分類Dev

複数の列のデータに基づいて2つのファイルをマージするにはどうすればよいですか?

Related 関連記事

  1. 1

    キーとしての列に基づいて2つのファイルをマージする方法

  2. 2

    キーと二次キーに基づいて2つのcsvファイルをマージします

  3. 3

    2つの列の一致に基づいて2つのファイルをマージしないawk

  4. 4

    AWK:キーと最新の日付に基づいて2つのファイルをマージします

  5. 5

    AWKを使用して、複数の条件に基づいて2つのファイルをマージする

  6. 6

    1つの列に基づいて2つのファイルをマージするAwk

  7. 7

    1つの列に基づいて2つのファイルをマージする

  8. 8

    jqを使用して共通のキーと値のペアに基づいて2つのJSONファイルをマージする

  9. 9

    共通のキーに基づいてawkで3つのファイルをマージする

  10. 10

    2つの列の一致に基づいて2つのファイルをマージするにはどうすればよいですか?

  11. 11

    Rの同じ列に基づいて2つのファイルをマージ/一致させる方法

  12. 12

    行が繰り返される共通フィールドに基づいて2つのファイルをマージ/結合する方法

  13. 13

    Pythonのヘッダー値に基づいて2つのcsvファイルをマージする

  14. 14

    日付に基づいて2つのデータフレームを長い形式でマージする

  15. 15

    ファイル名の最初の2つの単語に基づいてPDFをマージします

  16. 16

    2つのjsonファイルをマージし、一致するキー値に基づいて属性値を取得します

  17. 17

    共通の列値に基づいて2つのファイルをマージします

  18. 18

    共通データに基づいて 2 つのファイルをマージする

  19. 19

    パンダ:複数の列に基づいて2つのファイルをマージする

  20. 20

    共通の列に基づいて2つのファイルをマージする

  21. 21

    共通の列に基づいて 2 つの csv ファイルをマージする

  22. 22

    最初の列に基づいて、重複行なしで2つのファイルを並べ替えてマージします

  23. 23

    最初の列に基づいて、重複行なしで2つのファイルを並べ替えてマージします

  24. 24

    日時列に基づいて長さが等しくない2つのデータフレームを比較する方法

  25. 25

    部分一致に基づいて2つのファイルをマージします

  26. 26

    変数に基づいて2つのファイルをマージするExcel

  27. 27

    いくつかの基準に基づいて2つのテーブルをマージするクエリ

  28. 28

    UNIXの1つの一致する列に基づいて2つのcsvファイルをマージする方法。両方のファイルで列の位置が異なります

  29. 29

    複数の列のデータに基づいて2つのファイルをマージするにはどうすればよいですか?

ホットタグ

アーカイブ