共通の2つの列に基づいて2つのファイルを結合する

ピユッシュ

1列目と2列目に基づいて結合/マージしようとしている2つのファイルがあります。以下は、私が探している望ましい出力です。1つ強調したいのは、交差点だけでなく、これら2つのファイルをマージしたいということです。どんな助けでも大歓迎です!

$ cat file1
2L      5753   33158
2L      8813   33158
2L      7885   33159
2L      1279   33159
2L      5095   33158
$
$ cat file2
2L      8813    0.6    1.2
2L      5762    0.4    0.5
2L      1279    0.5    0.9
$

Desired Output:
2L      5753                33158
2L      8813    0.6    1.2  33158
2L      7885                33159
2L      1279    0.5    0.9  33159
2L      5095                33158
2L      5762    0.4    0.5

私は同様の投稿を見つけましたが、私が考えていることを満たすためにいくつかの調整が必要なようです。URLは:同様のStackoverflowリンク

ステファン・ハムケ

次のbashスクリプトは、file1から各行を読み取り、file2(のコピー)から対応する行を抽出し、両方の行をマージして、結果をstdoutに出力します。最後に、file2(残りの部分)が出力されます。

temp=$(mktemp)
cp file2 $temp
while read col1 col2 arg3; do
  line=$(sed -r -i -e "/^$col1\ +$col2/ {w /dev/stdout" -e "d}" $temp)
  arg1=$(awk '{print $3}' <<< $line)
  arg1=${arg1:-   }
  arg2=$(awk '{print $4}' <<< $line)
  arg2=${arg2:-   }
  echo -e "$col1\t$col2\t$arg1    $arg2\t$arg3"
done < file1
cat $temp
rm $temp

このsedコマンドのアイデアは、を使用してファイルの最初の行を印刷および削除する際の、sed dhakimianによるGillesの回答の拡張から採用されました

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

共通の文字列に基づいて2つのファイルを結合します

分類Dev

最初の列の共通行に基づいて2つのファイルを結合するにはどうすればよいですか?

分類Dev

結合を使用して同じ列に基づいて2つのcsvファイルを結合する

分類Dev

2 つの共通列のみに基づいて 2 つのテーブル (3 つの共通列を持つ) を結合する

分類Dev

awkを使用して2つの列に基づいてファイルを結合する

分類Dev

awk-一致する列に基づいて2つの.csvファイルを結合します

分類Dev

一致する列データに基づいて2つのCSVファイルを結合します

分類Dev

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

分類Dev

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

分類Dev

共通の列で2つのファイルを結合する

分類Dev

MVCの共通フィールドに基づいて2つのモデルを結合する方法

分類Dev

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

分類Dev

Pythonの各行の先行番号に基づいて2つのファイルを結合する方法

分類Dev

AWKの1つの列に基づいて2つのファイルを結合する方法(ワイルドカードを使用)

分類Dev

SSISの要素に基づいて2つのXMLファイルを結合する方法は?

分類Dev

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

分類Dev

1つの列の共通値に基づいて2つの列配列をフィルター処理する

分類Dev

2つの列に基づいてファイルを比較する

分類Dev

共通の列を使用して2つのファイルを結合します

分類Dev

共通の列を使用して2つのファイルを結合します

分類Dev

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

分類Dev

行名がソートと一致しない場合、UNIXの1つの列に基づいて2つのファイルを内部結合します

分類Dev

2つのcsvファイルを共通の列で結合する

分類Dev

2つの共通の列に基づいて2つのファイルをマージし、空白を0に置き換えます

分類Dev

値に基づいてbashで2つのファイルの行を結合します

分類Dev

共有キーに基づいて2つのファイルを結合します

分類Dev

共通のフィールドに基づいて2つのrddを結合するにはどうすればよいですか?

分類Dev

両方の最初の列の一致した値に基づいて、ファイルから別のファイルに1つの列を結合する

分類Dev

パンダ:共通の列に基づいて2つのデータフレームを結合する最良の方法

Related 関連記事

  1. 1

    共通の文字列に基づいて2つのファイルを結合します

  2. 2

    最初の列の共通行に基づいて2つのファイルを結合するにはどうすればよいですか?

  3. 3

    結合を使用して同じ列に基づいて2つのcsvファイルを結合する

  4. 4

    2 つの共通列のみに基づいて 2 つのテーブル (3 つの共通列を持つ) を結合する

  5. 5

    awkを使用して2つの列に基づいてファイルを結合する

  6. 6

    awk-一致する列に基づいて2つの.csvファイルを結合します

  7. 7

    一致する列データに基づいて2つのCSVファイルを結合します

  8. 8

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

  9. 9

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

  10. 10

    共通の列で2つのファイルを結合する

  11. 11

    MVCの共通フィールドに基づいて2つのモデルを結合する方法

  12. 12

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

  13. 13

    Pythonの各行の先行番号に基づいて2つのファイルを結合する方法

  14. 14

    AWKの1つの列に基づいて2つのファイルを結合する方法(ワイルドカードを使用)

  15. 15

    SSISの要素に基づいて2つのXMLファイルを結合する方法は?

  16. 16

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

  17. 17

    1つの列の共通値に基づいて2つの列配列をフィルター処理する

  18. 18

    2つの列に基づいてファイルを比較する

  19. 19

    共通の列を使用して2つのファイルを結合します

  20. 20

    共通の列を使用して2つのファイルを結合します

  21. 21

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

  22. 22

    行名がソートと一致しない場合、UNIXの1つの列に基づいて2つのファイルを内部結合します

  23. 23

    2つのcsvファイルを共通の列で結合する

  24. 24

    2つの共通の列に基づいて2つのファイルをマージし、空白を0に置き換えます

  25. 25

    値に基づいてbashで2つのファイルの行を結合します

  26. 26

    共有キーに基づいて2つのファイルを結合します

  27. 27

    共通のフィールドに基づいて2つのrddを結合するにはどうすればよいですか?

  28. 28

    両方の最初の列の一致した値に基づいて、ファイルから別のファイルに1つの列を結合する

  29. 29

    パンダ:共通の列に基づいて2つのデータフレームを結合する最良の方法

ホットタグ

アーカイブ