Tukubaiオンラインコマンドマニュアル

rank(1)

【名前】

rank : 行に階数を追加

【書式】

Usage	: rank ref=<ref> key=<key> <file>
Version	: Thu Dec 15 13:46:38 JST 2011

【説明】

fileの各行に階数を追加する。ref=<ref>で参照キーフィールドを指定した場合、参照キーフィールドが変化した段階で階数を1に初期化する。key=<key>で値フィールドを指定した場合、値が同じ間は同じ階数を追加する。

【例1】基本パターン

引数を何も指定しないときは、単純に行番号を追加する。

$ cat data
JPN 杉山______ 26
JPN 崎村______ 27
JPN 梶川______ 27
JPN 柳本______ 30
USA BOB_______ 25
USA GEROGE____ 29
USA SAM_______ 29
USA TOM_______ 35
$ 
$ rank data
1 JPN 杉山______ 26
2 JPN 崎村______ 27
3 JPN 梶川______ 27
4 JPN 柳本______ 30
5 USA BOB_______ 25
6 USA GEROGE____ 29
7 USA SAM_______ 29
8 USA TOM_______ 35
$ 

【例2】ref指定

ref=<ref>で参照フィールドを指定したときは、参照フィールドが変化した行で、階数を1に初期化する。ref=1/2 ref=3@2/5 などの連続・不連続のフィールドを指定することも可能。

$ rank ref=1 data
1 JPN 杉山______ 26
2 JPN 崎村______ 27
3 JPN 梶川______ 27
4 JPN 柳本______ 30
1 USA BOB_______ 25
2 USA GEROGE____ 29
3 USA SAM_______ 29
4 USA TOM_______ 35
$ 

【例3】key指定

key=<key>で値フィールドを1つだけ指定できる。この場合、値が同じフィールドを持つ行には同じ階数が追加される。次の行には、はじめから数えた階数が追加される。

$ rank key=3 data
1 JPN 杉山______ 26
2 JPN 崎村______ 27
2 JPN 梶川______ 27
4 JPN 柳本______ 30
5 USA BOB_______ 25
6 USA GEROGE____ 29
6 USA SAM_______ 29
8 USA TOM_______ 35
$ 

【例4】refとkey指定

参照キーが変化するところで、行番号が初期化され、かつ同じ値フィールドを持つ行には同じ階数が追加される。

$ rank ref=1 key=3 data
1 JPN 杉山______ 26
2 JPN 崎村______ 27
2 JPN 梶川______ 27
4 JPN 柳本______ 30
1 USA BOB_______ 25
2 USA GEROGE____ 29
2 USA SAM_______ 29
4 USA TOM_______ 35
$ 

【注意】

入力ファイルが-あるいは指定がない場合には、標準入力のデータが使用される。

同じ階数を追加するかどうかは、値が文字列として同じかどうかで判断しており、数字としては判定していない。

【関連項目】

count(1)gyo(1)juni(1)retu(1)

last modified: 2014-01-13 16:01:13