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

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

getno

<概要>

getno : シーケンシャルな番号を取得する

<書式>

Usage   : getno <num> <file>
Option  : -r           repeat
          -i<init>     initial value at repeat
          -u           unlimited digits
          -m<max>      maximum value
          -n<range>    value range
Version : Mon Aug  7 18:33:00 JST 2017
Edition : 1

<説明>

<num> で指定した数の連続した番号を、<file> に書かれている次の番号か
ら出力します。出力最終番号が <file> に上書きされます。

<file> の読み出しから上書きまでが排他制御されます。

番号は、<file> に書かれている値の桁数の固定長(前0)で出力されます。
桁数の制限は有りません。最大値(ALL 9)を超える出力をしようとした時
はエラーになります。

-u オプションを指定した場合は可変長(前0無し)で出力されます。桁数
の制限は無く、最大値の制限も有りません。-r オプションは併用できませ
ん。また <file> の値の前0は意味を持ちません。

-m オプションを指定すると、最大値が <max> になります。<max> の前0は
無視されます。-u オプションの有無にかかわらず、<max> を超える出力を
しようとした時はエラーになります。-u オプションを指定していない場合、
<max> の桁数が <file> の値の桁数より大きいとエラーになります。

-r オプションを指定した場合は、最大値まで出力した後、値が初期値(ALL
0)に戻り継続して出力されます。-i オプションで初期値を <init> に変更
できます。<init> の前0は無視されます。<init> の値が最大値を超えてい
る場合はエラーとなります。

-n オプションでは値の範囲を指定できます。範囲は加減と上限を "-" で連
結して示します。複数の範囲を "," で連結して指定できます。-m オプショ
ンは併用できません。

<例1> 

fileより3桁の連番を3つ出力
$ cat file
000
$ getno 3 file
001
002
003
$ cat file
003            <- 実行後、file の中身は最後に出力した番号になります。

(注)桁数の最終値を超える指定はエラーとなります。
$ cat file
997
$ getno 5 file
Error(559)[getno.NEW] : exceeds the maximum value    <- エラー
$ echo $?
1
$ cat file
997        <- 3桁なので最大値は 999、出力数指定は5つなので 999 を
              超える指定がされている。

<例2> -u オプション(桁数制限なし) 

$ cat file
097
$ getno -u 5 file
98         <- file の前0は無視されます。
99
100        <- 桁数は自動的に増えます。
101
102
$ cat file
102

<例3> -m オプション(最大値指定) 

$ cat file
05
$ getno -m8 5 file
Error(559)[getno.NEW] : exceeds the maximum value
$ cat file
05
$ getno -u -m8 5 file
Error(497)[getno.NEW] : exceeds the maximum value
$ cat file
05

<例4> -r オプション(繰り返し指定)

file より2桁の連番を4つ出力
$ cat file
98
$ getno -r 4 file
98
99
00      <- 99の次は 00 より継続して連番出力
01
$ cat file
01

最大値を指定した場合
$ cat file
30
$ getno -r -m32 4 file
31
32
00
01
$ cat file
01

初期値を指定した場合
$ cat file
017
$ getno -r -i2 4 file
98
99
02      <- 99 の次は指定した値 02 より継続して連番出力
03
$ cat file
03


<例5> -n オプション(範囲指定)

$ cat file
017
$ getno -n10-19,100-109 4 file
018     <- 10-19 による出力
019
100     <- 100-109 による出力
101
$ cat file
101

-r オプションを併用した場合
$ cat file
107
$ getno -r -n10-19,100-109 4 file
108     <- 100-109 による出力
109
010     <- 10-19 による出力
011

<注意>

このコマンドは、/home/TOOL 下に配置されていないと動作しません。

取得する番号の桁数に制限は有りませんが、個数は 2,147,483,647 個以下
に制限されています。

(備考)

NFS でリモートマウントされたディスク上にファイル <file> がある場合、

$ ssh "NFS サーバ" "getno 1 <file>"

のように ssh により NFS サーバー上で getno を起動する必要があります。