Tukubaiオンラインコマンドマニュアル - xmldir(1)
xmldir(1)
【名前】
xmldir
: ディレクトリタグの絶対パスを指定して、XMLデータをフィールド 形式に変換する。
【書式】
Usage : xmldir /<DirTag1>/<DirTag2>/.../<DirTagN> [<xmlfile>] Option : -c<n> Version : Sun Aug 28 11:35:26 JST 2022 Edition : 1
【説明】
ディレクトリタグの絶対パスを指定して、絶対パスとすべてのサブツリーの項目、属性、値を出力します。出力は末端のファイルパスに対して1行出力されます。
-c
オプションで、指定パスのインデックスが出力されます。-s
オプションで設定した文字が空白の代わりに出力されます。
N 階層のパスの場合、インデックスは N 個となり、タグが繰り返されるとインデックスはインクリメントされます。上位のタグがインクリメントされた場合、下位のタグのインデックスは1にリセットされます。
-c <n>
の場合、インデックスは前0埋め<n>
桁の数字になります。
【例1】 単純な例
$ cat xml <dir1> <dir2> <day>23/Jul.2022</day> <day>24/Jul.2022</day> </dir2> <dir2> <day>25/Jul.2022</day> <day>26/Jul.2022</day> </dir2> </dir1>
$ xmldir /dir1/dir2 xml dir1 dir2 day 23/Jul.2022 dir1 dir2 day 24/Jul.2022 dir1 dir2 day 25/Jul.2022 dir1 dir2 day 26/Jul.2022
$ xmldir -c3 /dir1/dir2 xml 001 001 dir1 dir2 day 23/Jul.2022 001 001 dir1 dir2 day 24/Jul.2022 001 002 dir1 dir2 day 25/Jul.2022 001 002 dir1 dir2 day 26/Jul.2022
【例2】 テキストに空白を含む例
$ cat xml <dir1> <dir2> <day>23 Jul 2022</day> <day>24 Jul 2022</day> </dir2> <dir2> <day>25 Jul 2022</day> <day>26 Jul 2022</day> </dir2> </dir1>
$ xmldir -s= /dir1/dir2 xml dir1 dir2 day 23=Jul=2022 dir1 dir2 day 24=Jul=2022 dir1 dir2 day 25=Jul=2022 dir1 dir2 day 26=Jul=2022
【例3】 実用的な例
$ cat xml <dir1> <dir2> <attributes> <data>a</data> </attributes> </dir2> <dir2> <attributes> <data>b</data> <data>c</data> </attributes> <attributes> <data>d</data> </attributes> </dir2> </dir1> <dir1> <dir2> <attributes> <data>e</data> </attributes> <attributes> <data>f</data> </attributes> <attributes> <data>g</data> </attributes> </dir2> </dir1>
$ xmldir -c3 /dir1/dir2/attributes xml 001 001 dir1 dir2 attributes data a 001 002 dir1 dir2 attributes data b 001 003 dir1 dir2 attributes data c 001 004 dir1 dir2 attributes data d 002 005 dir1 dir2 attributes data e 002 006 dir1 dir2 attributes data f 002 007 dir1 dir2 attributes data g