juni
名前
juni : 同一キー内での順位を出力する
書式
使い方とオプション
Usage
juni [<k1> <k2>] <file> juni key=<key> <file>
Option
-h
説明
第 <k1> フィールドから第 <k2> フィールドまでをキーフィールドとして、同一キーレコード内での順位をレコード先頭に挿入します。
<k1> <k2> を指定しないときは、すべてのレコードが同一キーレコードとみなします。この場合は単純にレコード先頭に行番号を挿入することになりま す。
key=<key> を指定した場合は、以下のように、連続、不連続のキーフィールドを指定することができます。
key=3 第3フィールド key=3/5 第3,4,5フィールド key=4@3 第4,3フィールド key=NF 最終フィールド key=NF-3 (最終-3)フィールド
-h オプションを指定した場合、各キーフィールドの順位を階層的に出力します。
<file> を指定しない場合、および “-” を指定した場合には、標準入力を読み込みます。
例(その1)
単純に行番号を付番する。
$ cat data 0000007 セロリ 100 0000017 練馬大根 95 0000021 温州みかん 80 0000025 プリンスメロン 70 0000030 じゃが芋 30 $ juni data 1 0000007 セロリ 100 2 0000017 練馬大根 95 3 0000021 温州みかん 80 4 0000025 プリンスメロン 70 5 0000030 じゃが芋 30
例(その2)
キーフィールドを指定して、同一キーを持つレコードブロック内で順位を付番します。
$ cat data 関東 パスタ 100 関東 おにぎり 90 関東 パン 40 九州 おにぎり 150 九州 パン 140 九州 パスタ 100 $ juni 1 1 data 1 関東 パスタ 100 2 関東 おにぎり 90 3 関東 パン 40 1 九州 おにぎり 150 2 九州 パン 140 3 九州 パスタ 100
例(その3)
-h オプションを指定した場合、各キーフィールドの順位を階層的に出力します。
$ cat data A A1 A11 A111 A A1 A11 A112 A A1 A12 A121 A A1 A12 A122 A A2 A21 A211 A A2 A21 A212 A A2 A22 A221 A A2 A22 A222 B B1 B11 B111 B B1 B11 B112 B B1 B12 B121 B B1 B12 B122 B B2 B21 B211 B B2 B21 B212 B B2 B22 B221 B B2 B22 B222 $ juni -h 1 3 data 1 1 1 A A1 A11 A111 1 1 1 A A1 A11 A112 1 1 2 A A1 A12 A121 1 1 2 A A1 A12 A122 1 2 1 A A2 A21 A211 1 2 1 A A2 A21 A212 1 2 2 A A2 A22 A221 1 2 2 A A2 A22 A222 2 1 1 B B1 B11 B111 2 1 1 B B1 B11 B112 2 1 2 B B1 B12 B121 2 1 2 B B1 B12 B122 2 2 1 B B2 B21 B211 2 2 1 B B2 B21 B212 2 2 2 B B2 B22 B221 2 2 2 B B2 B22 B222
例(その4)
-h オプションでキーを指定しないと、全フィールドをキーフィールドとみなします。
$ juni -h data 1 1 1 1 A A1 A11 A111 1 1 1 2 A A1 A11 A112 1 1 2 1 A A1 A12 A121 1 1 2 2 A A1 A12 A122 1 2 1 1 A A2 A21 A211 1 2 1 2 A A2 A21 A212 1 2 2 1 A A2 A22 A221 1 2 2 2 A A2 A22 A222 2 1 1 1 B B1 B11 B111 2 1 1 2 B B1 B11 B112 2 1 2 1 B B1 B12 B121 2 1 2 2 B B1 B12 B122 2 2 1 1 B B2 B21 B211 2 2 1 2 B B2 B21 B212 2 2 2 1 B B2 B22 B221 2 2 2 2 B B2 B22 B222
例(その5)
-h オプションでは、キーフィールドの位置によらず、上位レベルの順位から出力されます。
$ cat data A111 A11 A1 A A112 A11 A1 A A121 A12 A1 A A122 A12 A1 A A211 A21 A2 A A212 A21 A2 A A221 A22 A2 A A222 A22 A2 A B111 B11 B1 B B112 B11 B1 B B121 B12 B1 B B122 B12 B1 B B211 B21 B2 B B212 B21 B2 B B221 B22 B2 B B222 B22 B2 B $ juni -h key=4/2 data 1 1 1 A111 A11 A1 A 1 1 1 A112 A11 A1 A 1 1 2 A121 A12 A1 A 1 1 2 A122 A12 A1 A 1 2 1 A211 A21 A2 A 1 2 1 A212 A21 A2 A 1 2 2 A221 A22 A2 A 1 2 2 A222 A22 A2 A 2 1 1 B111 B11 B1 B 2 1 1 B112 B11 B1 B 2 1 2 B121 B12 B1 B 2 1 2 B122 B12 B1 B 2 2 1 B211 B21 B2 B 2 2 1 B212 B21 B2 B 2 2 2 B221 B22 B2 B 2 2 2 B222 B22 B2 B
備考
rank コマンド
Version and Edition
Version : Tue Jun 18 19:00:37 JST 2019
Edition : 1
© 2021 Universal Shell Programming Laboratory site