check_inlist_name <概要> check_inlist_name : name 形式データのリスト内存在チェックをする <書式> Usage : check_inlist_name <check_file> <name_file> Option : --through <chars> Version : Tue May 7 16:12:54 JST 2013 <説明> <check_file> に記述されているタグ名とリスト名にしたがい、 <name_file>の値がリストに存在しているかのチェックをします。 エラーがあった場合は、コマンドはエラー終了し、標準出力にタグ名 とリスト名を出力します。 <オプション> --through <string> <name_file> のデータが<string>に等しい場合は、 チェックを実施しません。<string>のデフォルトは、"_" となります。 このオプションは繰り返し使って複数の<string>を指定することが できます。 <例1> [usp1 usp@ ~]$ cat check A /tmp/OS_FILE <-- タグ名とリストファイル名(絶対パスであること) B /tmp/ABC_FILE [usp1 usp@ ~]$ cat /tmp/OS_FILE Linux # comment UNIX # comment Windows # comment [usp1 usp@ ~]$ cat /tmp/ABC_FILE abc # comment cde # comment [usp1 usp@ ~]$ cat data A Linux B_001 abc B_002 cde B_003 fgh B_004 _ <-- "_" はチェックの対象外(--through オプションで変更可) [usp1 usp@ ~]$ check_inlist_name check data A /tmp/OS_FILE B_003 /tmp/ABC_FILE [usp1 usp@ ~]$ echo $? 1 <例2> 複数チェック [usp1 usp@ ~]$ cat check A.B list1 C list2 [usp1 usp@ ~]$ cat list1 1 3 # comment 4 5 # comment [usp1 usp@ ~]$ cat list2 5 # comment 6 # comment 7 # comment [usp1 usp@ ~]$ cat data A_01 1 A_02 2 B_01 3 B_02 4 C 1 [usp1 usp@ ~]$ check_inlist_name check data A_02 B_02 list1 C 1 [usp1 usp@ ~]$ echo $? 1 なお、複数チェック時に --through オプションは、個別の値に対して対象外になる のでは無く、同一のタグシリーズを持つ全ての値が一致した場合にのみ、そのタグ が対象外となります。 [ usp1 usp@ ~]$ cat data2 A_01 _ A_02 _ A_03 _ A_04 1 B_01 _ B_02 1 B_03 2 B_04 3 [usp1 usp@ ~]$ check_inlist_name check data2 A_02 B_02 list1 A_03 B_03 list1 ※ 01 は両方ともthrough対象なのでセーフ 02 はBがthrough対象外なのでチェック実行、Aがリスト外なのでアウト 03 はBがthrough対象外なのでチェック実行、ABがリスト外なのでアウト 04 はそのままチェック実行、リスト内なのでセーフ