join
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
join [2020/01/28 02:43] – 作成 nullpon | join [2020/01/28 07:47] (現在) – [使い方] nullpon | ||
---|---|---|---|
行 3: | 行 3: | ||
ファイルでRDBのjoinを行うツール | ファイルでRDBのjoinを行うツール | ||
- | ``` | + | ===== 使い方 ===== |
+ | |||
+ | ファイルの中身は結合する項目でsortされている必要がある | ||
+ | |||
+ | < | ||
$ cat hoge.txt | $ cat hoge.txt | ||
aaaa,1 | aaaa,1 | ||
行 17: | 行 21: | ||
bbbb,2,xxx | bbbb,2,xxx | ||
cccc,3,yyy | cccc,3,yyy | ||
- | ``` | + | </ |
+ | |||
+ | * t: デリミタ、デフォルトは空白とタブ | ||
+ | * j: joinに使うフィールドの番号を指定、デフォルトは1(先頭の項目) | ||
+ | * j1: 前のファイルのjoinに使うフィールド番号を指定 | ||
+ | * j2: 後のファイルのjoinに使うフィールド番号を指定 | ||
+ | * a: 指定した方は全部表示(outer joinのイメージ) | ||
+ | * o: 表示するカラムを指定 | ||
+ | * e: 表示するカラムの値がない場合の指定 | ||
+ | * v: 指定したファイルの一致しない行を表示 | ||
+ | |||
+ | ===== 集合演算 ===== | ||
+ | |||
+ | < | ||
+ | $ cat hoge.txt | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | |||
+ | $ cat fuga.txt | ||
+ | 3 | ||
+ | 4 | ||
+ | 5 | ||
+ | 6 | ||
+ | </ | ||
+ | |||
+ | 積集合 | ||
+ | |||
+ | < | ||
+ | $ join hoge.txt fuga.txt | ||
+ | 3 | ||
+ | 4 | ||
+ | </ | ||
+ | |||
+ | 和集合 | ||
+ | |||
+ | < | ||
+ | $ join -a 1 -a 2 hoge.txt fuga.txt | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | 5 | ||
+ | 6 | ||
+ | </ | ||
+ | |||
+ | 差集合 | ||
+ | |||
+ | < | ||
+ | $ join -v 1 hoge.txt fuga.txt | ||
+ | 1 | ||
+ | 2 | ||
+ | |||
+ | $ join -v 2 hoge.txt fuga.txt | ||
+ | 5 | ||
+ | 6 | ||
+ | </ | ||
+ | |||
+ | 対称差集合 | ||
+ | |||
+ | < | ||
+ | $ join -v 1 -v 2 hoge.txt fuga.txt | ||
+ | 1 | ||
+ | 2 | ||
+ | 5 | ||
+ | 6 | ||
+ | </ | ||
+ | |||
+ |
join.1580179399.txt.gz · 最終更新: 2020/01/28 02:43 by nullpon