uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト
動画説明

1bai

<概要>

1bai : 前0を取り除く

<書式>

Usage   : 1bai [-r] f1 f2 .. file
          1bai -d[r] string
Version : Wed Mar 14 22:39:33 JST 2018
Edition : 1

<説明>

指定したファイルの指定フィールドや指定した文字列の先頭の0を取り除き
ます。(小数点以下の後0も削除します)

<例1>

$ cat data
0000000 浜地______ 50 F 91 59 20 76 54
0000001 鈴田______ 50 F 46 39 8  5  21
0000003 杉山______ 26 F 30 50 71 36 30
0000004 白土______ 40 M 58 71 20 10 6
0000005 崎村______ 20 M 82 79 16 21 80
0000007 梶川______ 42 F 50 2  33 15 62

$ 1bai 1 data > data2
$ cat data2   <- 1フィールド目の頭 "0" を取り去ります。
0 浜地______ 50 F 91 59 20 76 54
1 鈴田______ 50 F 46 39 8 5 21
3 杉山______ 26 F 30 50 71 36 30
4 白土______ 40 M 58 71 20 10 6
5 崎村______ 20 M 82 79 16 21 80
7 梶川______ 42 F 50 2 33 15 62

<例2>

-r (reverse) オプションをつけるとー1倍します。
$ cat file
a 1 2 3 4 5
b 1 2 3 4 5
$ 1bai -r 2 file
a -1 2 3 4 5
b -1 2 3 4 5
$ 1bai -r 2/4 file
a -1 -2 -3 4 5
b -1 -2 -3 4 5
$ 1bai -r 2 NF-1/NF file
a -1 2 3 -4 -5
b -1 2 3 -4 -5

<例3>

up3 と sm2 を組み合わせて同じキーをもつレコードの引き算を行います。
$ cat data
a 5
b 2
$ cat data2
a 2
b 1
$ 1bai -r 2 data2 | up3 key=1 data | sm2 1 1 2 2
a 3
b 1

<例4>

-d オプションはダイレクトモードです。引数に直接編集したい文字列を指
定します。
$ 1bai -d 0123
123
$ 1bai -d 0123.400
123.4
$ 1bai -d 0123.000
123
$ 1bai -d 0
0
$ 1bai -d -000123.400
-123.4
$ 1bai -d +000123.400
123.4
$ 1bai -dr 0123
-123

<例5>

前0をとることにより、シェルや awk の printf 文における8進数への自
動置換を無効にします。
$ num=010   <- 8進数と解釈されてしまう
$ printf '%04d\n' $num
0008
$ printf '%04d\n' $(1bai -d $num)
0010

<例6>

固定長テキストから変換されたデータは、符号や前0後0がついたものが多
く、1bai コマンドが役立ちます。
$ cat file
a 000123.000 000345.000
b 000098.450 000100.000
$ 1bai 2 3 file
a 123 345
b 98.45 100

<コラム>

命名の由来
対象の数字の文字列に1倍を掛けることにより0を取り除くため、1bai と
命名されています。