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

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

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

(動画教材準備中)

cktag_cmp

<概要>

  cktag_cmp : tag 形式データの値の大小関係をチェックする

<書式>

Usage   : cktag_cmp <argument> <tag_file>
Option  : --through <string>
          --ngthrough
          +ng<N>
Version : Thu Sep 12 09:40:58 JST 2013

<説明>

<argument> の記述に従って、<tag_file>のデータの、
タグ同士やタグと値の大小関係をチェックします。
エラーがあった場合は、標準エラー出力に行番号とタグ名と
タグの値を出力します。エラーの無い行は標準出力に出力
されます。エラーがある場合はコマンドはエラー終了します。
<argument> は、"左辺 記号 右辺" と記述します。
左辺と右辺には、タグ名や値を指定します。
記号については、次の8種類が使えます。

    -EQ -eq  <--  =  (equal)
    -NE -ne  <-- !=  (not equal)
    -GE -ge  <-- >=  (greater or equal)
    -GT -lt  <--  >  (greater)
    -LE -le  <-- <=  (less or equal)
    -LT -lt  <--  <  (less)
    -BE -be  <--     ( between )
    -BT -bt  <--     ( inbetween )

<オプション>

--through <string>
<tag_file> の左辺あるいは、右辺のデータが<string>の場合は、
チェックを実施しません。
<string>のデフォルトは、"_" となります。

--ngthough
エラーがあっても正常終了します。

+ng<N>
エラー情報をファイルディスクリプタN番にリダイレクトします。

<例>

[usp1 usp@ ~]$ keta tagdata
tagA tagB tagC
 200  300    _
 500  300  700
 300  -10    0

(タグ名とタグ名の比較)
[usp1 usp@ ~]$ cktag_cmp "tagA -le tagB" tagdata 2> error > ok
[usp1 usp@ ~]$ echo $?   <-- error がある場合はエラー終了する
1
[usp1 usp@ ~]$ cat error
1 tagA 200 tagB 300
2 tagA 500 tagB 700
[usp1 usp@ ~]$ cat ok
tagA tagB tagC
 300  -10    0

(タグ名と数値の比較)
[usp1 usp@ ~]$ cktag_cmp "tagA -gt 300" tagdata 2> error > ok
[usp1 usp@ ~]$ cat error
1 tagA 200 _ 300
[usp1 usp@ ~]$ cat ok
tagA tagB tagC
 500  300  700
 300  -10    0

("_" の場合はチェックしない)
[usp1 usp@ ~]$ cktag_cmp "tagC -ne 0" tagdata 2> error > ok
[usp1 usp@ ~]$ cat error
2 tagC 700 _ 0
[usp1 usp@ ~]$ cat ok
tagA tagB tagC
 200  300    _
 300  -10    0

(BT の使用方法)
[usp1 usp@ ~]$ check_cmp_tag "tagA -bt tagB tagC" tagdata 2> error > ok
[usp1 usp@ ~]$ cat error
3 tagA 300 tagB -10 tagC 0
[usp1 usp@ ~]$ cat ok
tagA tagB tagC
 200  300    _
 500  300  700

(--ngthroughを使うとエラーがあっても正常終了する)
(+ng3 でファイルディスクリププタ3番にエラーが出力される)
[usp1 usp@ ~]$ cktag_cmp --ngthrough +ng3 "tagC -ne 0" tagdata 3> error > ok
[usp1 usp@ ~]$ echo $?
0