Tukubaiオンラインコマンドマニュアル - rank(1)
rank(1)
【名前】
rank
: 行に階数を追加
【書式】
Usage : rank ref=<ref> key=<key> <file> Version : Fri Jul 15 16:18:04 JST 2022 Edition : 1
【説明】
fileの各行に階数を追加する。ref=<ref>
で参照キーフィールドを指定した場合、参照キーフィールドが変化した段階で階数を1に初期化する。key=<key>
で値フィールドを指定した場合、値が同じ間は同じ階数を追加する。<file>
として-
を指定すると標準入力を使用する。ref=
指定またはkey=
指定があるときは<file>
を省略して標準入力を使用する。
【例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 $
【注意】
入力ファイルが-
あるいは指定がない場合には、標準入力のデータが使用される。
同じ階数を追加するかどうかは、値が文字列として同じかどうかで判断しており、数字としては判定していない。