Tukubaiオンラインコマンドマニュアル - getfirst(1)
getfirst(1)
【名前】
getfirst
: 同一キーの最初の行を出力
【書式】
Usage : getfirst [+ng[<fd>]] <n1> <n2> <file> Version : Sat Sep 19 23:49:26 JST 2020 Edition : 1
【説明】
引数のファイルまたは標準入力のテキストデータに対し、指定されたキーフィールドの値が同一の行が複数ある場合に、キーフィールドごとに最初の行のみを抽出して出力する。
【例1】
$ cat date ←元データ 商品コード 商品名 販売日 売れ数 0000007 セロリ 20060201 117 0000007 セロリ 20060202 136 0000007 セロリ 20060203 221 0000017 練馬大根 20060201 31 0000017 練馬大根 20060202 127 0000017 練馬大根 20060203 514 0000021 温州みかん 20060201 90 0000021 温州みかん 20060202 324 0000021 温州みかん 20060203 573 0000025 プリンスメロン 20060201 129 0000025 プリンスメロン 20060202 493 0000025 プリンスメロン 20060203 391 0000030 じゃが芋 20060201 575 0000030 じゃが芋 20060202 541 0000030 じゃが芋 20060203 184 $
$ getfirst 1 2 data ←同一商品コード/商品名の最初の行のみ出力 0000007 セロリ 20060201 117 0000017 練馬大根 20060201 31 0000021 温州みかん 20060201 90 0000025 プリンスメロン 20060201 129 0000030 じゃが芋 20060201 575 $
【例2】
"+ng
"オプションを指定すると、同じキーフィールドの値を持つ行の最初の行以外を標準エラー出力に出力する。
$ getfirst +ng 1 2 data > /dev/null 2> data2 $ cat data2 0000007 セロリ 20060202 136 0000007 セロリ 20060203 221 0000017 練馬大根 20060202 127 0000017 練馬大根 20060203 514 0000021 温州みかん 20060202 324 0000021 温州みかん 20060203 573 0000025 プリンスメロン 20060202 493 0000025 プリンスメロン 20060203 391 0000030 じゃが芋 20060202 541 0000030 じゃが芋 20060203 184 $
【例3】
+ng
オプションに<fd>
を指定すると、標準エラー出力のかわりに<fd>
への出力が実施される。
$ getfirst +ng4 1 2 data > /dev/null 4> data2 $ cat data2 0000007 セロリ 20060202 136 0000007 セロリ 20060203 221 0000017 練馬大根 20060202 127 0000017 練馬大根 20060203 514 0000021 温州みかん 20060202 324 0000021 温州みかん 20060203 573 0000025 プリンスメロン 20060202 493 0000025 プリンスメロン 20060203 391 0000030 じゃが芋 20060202 541 0000030 じゃが芋 20060203 184 $
【注意】
フィールド分割において連続する空白は1つの空白とみなされる。また、行頭の空白は無視される。例えば、キーフィールド指定が1と2の場合、次の2行は同じキーフィールドを持つとみなされる。
0000007 セロリ 20060202 136 0000007 セロリ 20060203 221