Linuxで一意の行を削除せずに結合

Linuxで一意の行を削除せずに結合

私はテーブルAを持っています:

1 n m n ...
2 m n m ...
3 n m n ...
4 m n m ...
5 n m n ...

テーブルBがあります。

1 A
3 B
5 C

以下を得るために、テーブルAの唯一の行を削除せずに、2つのテーブルの列1を一致させて、テーブルBの列2をテーブルAと結合しようとします(一致しない場合は「NA」と書きます)。

1 A  n m n ...
2 NA m n m ...
3 B  n m n ...
4 NA m n m ...
5 C  n m n ...

ベストアンサー1

~からman join

   -a FILENUM
          also  print unpairable lines from file FILENUM, where FILENUM is
          1 or 2, corresponding to FILE1 or FILE2

   -e EMPTY
          replace missing input fields with EMPTY

だから

join -a1 -e 'NA' -o 0,2.2,1.2,1.3,1.4 A B
1 A n m n
2 NA m n m
3 B n m n
4 NA m n m
5 C n m n

おすすめ記事