getfirst
名前
getfirst : 同一キーの最初の行を出力する
書式
使い方とオプション
Usage
getfirst <n1> <n2> <file> getfirst key=<key> <file>
Option
+ng[<fd>] -<n>
説明
引数のファイル又は標準入力の指定されたキーフィールドの値が同一のレコードが複数ある場合、その最初のレコードのみを出力します。-<n> オプションが指定された場合は、最初の <n> レコードが出力されます。
キーフィールドの指定方法は、<n1> <n2>(<n1> 〜 <n2> がキーフィールド)と key=<key> の2通りがあります。<key> には範囲指定(例 1/3 2@5)が使用可能です。
例(その1)
(元データ:data) 商品コード:商品名 販売日 売れ数
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 >data2 <- 同じ商品の最初の行を抽出 $ cat data2 0000007 セロリ 20060201 117 0000017 練馬大根 20060201 31 0000021 温州みかん 20060201 90 0000025 プリンスメロン 20060201 129 0000030 じゃが芋 20060201 575 $ getfirst key=1/2 data >data2 <- getfirst 1 2 data と同じ動作 $ cat data2 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 +ng3 1 2 data >/dev/null 3>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
Version and Edition
Version : Mon Sep 14 14:30:44 JST 2020
Edition : 3
© 2021 Universal Shell Programming Laboratory site