ファイルをマージするためのawkコマンド

ファイルをマージするためのawkコマンド

これら2つのファイルを一致する値にマージするには、awkコマンドが必要です。

Color:Green
Color:Yellow 
Color:Orange

そして

Green:Yes
Orange:Yes

そして得る

 Color:Green:Yes
 Color:Orange:Yes

ベストアンサー1

使用と場所joinsortbash

$ join -t: -1 2  <( sort -t: -k2 colours.txt ) <( sort selected.txt )
Green:Color:Yes
Orange:Color:Yes

フィールドを正しくソートするには:

$ join -t: -1 2 -o1.1,1.2,2.2 <( sort -t: -k2 colours.txt ) <( sort selected.txt )
Color:Green:Yes
Color:Orange:Yes

joinソートされた入力データに対してリレーショナルJOIN操作を実行します。この場合、結合フィールドは色であり、これは最初の:ファイルでは2番目の区切りフィールド、2番目のファイル:では最初の区切りフィールドとして表されます。

join -t: -1 2makeを介して、join最初のファイルの2番目のフィールドを「結合キー」フィールドとして選択し(最初のフィールドはデフォルトフィールドです)、これらの2つのフィールド<(...)(から置換bash)でソートされたデータを提供します。最初のものは、sort2番目に区切られたフィールド(色):で最初のファイルをソートするという点で「特別」です。

上記の2番目の例では、この-oフラグを使用して出力で表示したい内容と順序を明示的に指定します。

おすすめ記事