mnameread <概要> mnameread : 複数 name 形式ファイルの一括出力(tag形式出力) <書式> Usage : mnameread <tagname_file> <filename_file> Option : -i<init_string> -d<c> --off_index Version : Wed May 8 08:04:07 JST 2013 <説明> <name_file> にタグ名を羅列したファイルを指定 <filename_file> にname型式ファイル名を羅列したファイルを指定 すると、指定タグ名順に各name型式ファイルから値を読みだし、 各name型式ファイルあたり1行にしてtag形式で出力します。 <オプション> -i<string> を指定すると、タグが無い、あるいはタグの値が無い場合 に値の代わりに <string> を出力します。デフォルトは "_" です。 -d<c> を指定すると、値の中に空白があると、<c> に変換します。 デフォルトは、"_" です。 --check オプションについて <filename_file>で指定したname型式の同一ファイルの中に 下記のようなタグが存在する場合はエラー終了とします。 1.同一のタグ名称のデータが複数存在する(重複) 2.あるタグ名単体と同一タグ名_XXX(XXX は固定長数字)が混在する。 (別ファイル間での混在はエラー終了しません) <例1> $ cat name1 CODE 1234 NAME ABCD AMOUNT 1,234 $ cat name2 CODE 5678 NAME EFGH AMOUNT 12,000 $ cat name3 CODE 9999 NAME ZZZZ AMOUNT 9,999 $ cat tagname NAME CODE AMOUNT $ cat filename name1 name2 name3 $ mnameread tagname filename NAME CODE AMOUNT ABCD 1234 1,234 EFGH 5678 12,000 ZZZZ 9999 9,999 <例2> タグ名が タグ名_XXX (XXX は固定長数字)の場合、 展開後の行が繰り返しされます。 XXX は桁数は任意ですが、001 002 003 ....のように 1から連続する値である必要があります。 この機能は --off_index で取り消せます。 $ cat name1 CODE_001 1111 CODE_002 2222 NAME ABCD AMOUNT 1,234 $ cat name2 CODE_001 3333 CODE_002 4444 CODE_003 5555 NAME EFGH AMOUNT 12,000 $ cat name3 CODE 9999 NAME ZZZZ AMOUNT 9,999 $ cat tagname NAME CODE AMOUNT $ cat filename name1 name2 name3 $ mnameread tagname filename NAME CODE AMOUNT ABCD 1111 1,234 ABCD 2222 1,234 EFGH 3333 12,000 EFGH 4444 12,000 EFGH 5555 12,000 ZZZZ 9999 9,999