Tukubaiオンラインコマンドマニュアル - keta(1)
keta(1)
【名前】
keta
: テキストファイルの桁そろえ
【書式】
Usage : keta n1 n2 .. [<filename>] keta -v [<filename>] keta [--] [<filename>] Version : Tue Sep 6 08:46:04 JST 2022 Edition : 1
【説明】
引数のファイルまたは標準入力のテキストデータの各フィールドの桁数をそろえて出力する。全フィールドに対してフィールド毎の桁数を指定する。指定桁数にそのフィールドの最大長未満を指定すると最大長がとられる。桁数指定をすべて省略すると各フィールドの桁数を自動的に判断して出力できる。フィールドは右詰めで出力するが、桁数指定に-
を付けると左詰めにする。桁数指定をすべて省略して代わりに--
を指定すると全フィールドを左詰めで出力する。<filename>
として-
を指定すると標準入力を使用する。桁数指定があるときは<filename>
は省略可能になる。桁数指定がないときは<filename>
は省略不可。-v
または--
指定があるときは桁数指定はできず<filename>
は省略不可。<filename>
が省略されたときは標準入力を仮定する。
【例1】
引数で指定したファイルの各フィールド毎に最大桁数を判断して桁数を自動出力する。
$ cat data 01 埼玉県 01 さいたま市 91 59 20 76 54 01 埼玉県 02 川越市 46 39 8 5 21 01 埼玉県 03 熊谷市 82 0 23 84 10 02 東京都 04 新宿区 30 50 71 36 30 02 東京都 06 港区 58 71 20 10 6 04 神奈川県 13 横浜市 92 56 83 96 75 $
$ keta data ←右詰め 01 埼玉県 01 さいたま市 91 59 20 76 54 01 埼玉県 02 川越市 46 39 8 5 21 01 埼玉県 03 熊谷市 82 0 23 84 10 02 東京都 04 新宿区 30 50 71 36 30 02 東京都 06 港区 58 71 20 10 6 04 神奈川県 13 横浜市 92 56 83 96 75 $
$ keta -- data ←左詰め 01 埼玉県 01 さいたま市 91 59 20 76 54 01 埼玉県 02 川越市 46 39 8 5 21 01 埼玉県 03 熊谷市 82 0 23 84 10 02 東京都 04 新宿区 30 50 71 36 30 02 東京都 06 港区 58 71 20 10 6 04 神奈川県 13 横浜市 92 56 83 96 75 $
【例2】
各フィールド毎の桁数を指定して出力する。引数としてファイルの各フィールドの1番目から最終フィールドまでのそれぞれの桁数を順に指定する。
↓2フィールド目の桁数keta
n1 n2 n3 ・・・・nNF
↑ ↑ 1フィールド目の桁数 最終フィールド目の桁数
なお、桁数は半角での文字数で指定する。大文字の場合は半角2文字分の指定が必要である。keta
4は半角では4文字分、全角では2文字分になる。次のコマンドで例1と同じ出力が得られる。
$ keta 2 8 2 10 2 2 2 2 2 data
【例3】
通常は桁は右詰めで出力されるが、左詰めで出力する場合は桁数に-
をつけて指定すれば良い。例えば第2フィールドと第4フィールドを左詰めにして出力するには次のようにコマンドを実行する。
$ keta 2 -8 2 -10 2 2 2 2 2 data 01 埼玉県 01 さいたま市 91 59 20 76 54 01 埼玉県 02 川越市 46 39 8 5 21 01 埼玉県 03 熊谷市 82 0 23 84 10 02 東京都 04 新宿区 30 50 71 36 30 02 東京都 06 港区 58 71 20 10 6 04 神奈川県 13 横浜市 92 56 83 96 7 $
【例4】
同じ桁数を連続したフィールドに指定する場合は<桁数x連続するフィールド数>と表記することができる。keta
3x4はketa
3 3 3 3と同じ意味を持つ。フィールド数にはNF
(1行のフィールド数)を使用しNF-xx
と指定できる。次のコマンドで例3と同じ出力が得られる。
$ keta 2 -8 2 -10 2x5 data
$ keta 2 -8 2 -10 2xNF-4 data
【例5】
-v
オプションを使用するとファイルの各フィールドの最大桁数を表示させることができる。
$ keta -v data 2 8 2 10 2 2 2 2 2 $
次のコマンドで例1と同じ出力が得られる。
$ keta $(keta -v data) data