getfirst

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動

名前

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