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

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

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

(動画教材準備中)

check_attr_name

<概要>

 check_attr_name : name 形式データの属性をチェックする

<書式>

Usage   : check_attr_name <check_file> <name_file>
Options : --through <string>
          --ngword <ng_file>
          --ngthrough
Version : Tue Mar 19 20:08:05 JST 2019
Edition : 1

Attributes:
    n N (unsigned integer number)
    s S (signed integer number)
    f F (unsigned floating point number)
    v V (signed floating point number)
    e E (alphabet character)
    a A (ASCII character)
    b B (alphabet and number)
    h H (a half-width character)
    l L (a half-width Katakana)
    z Z (a full-width character)
    k K (a full-width Katakana)
    x X (printable character)
    c C (check digit)
    o O (non lower case letter)
    j J (address = full-width + ASCII)
    m M (email address)

<説明>

<check_file> に記述されているタグ名、属性の指定に従って <name_file>
のデータをチェックします。属性には桁数を付加することができます。属性
が大文字なら桁数に等しい値を、小文字なら指定桁数以下の値を要求します。

<name_file> のタグは、タグ名_数値 であれば、_数値部分を取り除いたタ
グ名のみでチェックをします。

エラーがあった場合は、すべてのタグをチェックした後にエラー終了し、標
準出力にタグ名と属性+桁数を出力します。--ngthrough を指定したときは、
エラーが有っても正常終了します。

<オプション>
--through <string>
<name_file> のデータが <string> のうちいずれかに等しい場合は、チェッ
クを実施しません。<string>のデフォルトは、"_" となります。このオプシ
ョンを繰り返し使って複数の <string> を指定することができます。

--ngword <ng_file>
z Z x X j J において、<ng_file> に記述されているマルチバイト文字はエ
ラーとします。<ng_file> には、1行に1文字記述します。

<例1> 通常のチェック

$ cat check
A N3            <-- 3桁整数
B n4            <-- 4桁以下の整数
C x3            <-- 3桁以下の文字
D X6            <-- 6桁の文字

$ cat data
A 200
B 12345
C abcde
D_001 xxxxxx    <--+- "D 6X" としてチェックされます
D_002 xxxxx     <--+
D_003 xxxx      <--+
$ check_attr_name check data
B n4
C x3
D_002 X6
D_003 X6
$ echo $?
1

<例2> --through オプションでチェックしない値を指定します

$ cat data2
A 200
B @
C @
D_001 xxxxxx
D_002 @
D_003 @
$ check_attr_name --through @ check data2
$ echo $?
0

<例3> --ngthrough オプションで常に正常終了します

$ cat data3
A 123
B 12345
$ check_attr_name check data3
B n4
$ echo $?
1
$ check_attr_name --ngthrough check data3
B n4
$ echo $?
0