tagself
名前
tagself : タグファイルから指定したフィールドのデータを取り出す
書式
使い方とオプション
Usage
: tagself <tag1> <tag2> .. <tagfile>
Option
--ngthrough -d<dummy> -n<string> -f
説明
タグファイル <tagfile> から指定したフィールドのデータだけを取り出して出力します。
<tagfile> の指定が無いとき、或は、ファイル名が “-” の時は標準入力を読み込みます。
存在しないタグを指定した場合はエラーになりますが、–ngthrough オプションを指定した場合は、そのタグのフィールドを作成し、データ部には "_"を設定します。-d オプションを使うと、他の文字列に変更できます。
出力はタグファイルとなります。
例(その1)
$ cat data TAG1 TAG2 TAG3 TAG4 aaa1 bbb1 ccc1 ddd1 aaa2 bbb2 ccc2 ddd2 $ tagself TAG2 TAG4 data TAG2 TAG4 bbb1 ddd1 bbb2 ddd2
例(その2)
–ngthrough オプション
$ tagself --ngthrough TAG2 TAGx TAG4 data TAG2 TAGx TAG4 bbb1 _ ddd1 bbb2 _ ddd2
例(その3)
–ngthrough オプションと -d オプション
$ tagself --ngthrough -d@@@ TAG2 TAGx TAG4 data TAG2 TAGx TAG4 bbb1 @@@ ddd1 bbb2 @@@ ddd2
例(その4)
フィールド 0 は、self と同様にレコード全体の指定になります。
$tagself --ngthrough 0 TAGx data TAG1 TAG2 TAG3 TAG4 TAGx aaa1 bbb1 ccc1 ddd1 _ aaa2 bbb2 ccc2 ddd2 _
例(その5)
self と同様に部分文字列を指定できます。
$ cat data2 $ tagself TAG1.2 TAG3.2.1 data TAG1 TAG3 aa1 c aa2 c
開始位置に負数を指定すると、末尾からの位置を指定することが出来ます。
$ tagself TAG1.-2 data TAG1 a1 a2
長さに負数を指定すると、フィールド桁数から引いた長さを指定することが出来ます。
$ tagself TAG1.1.-1 data TAG1 aaa aaa
例(その6)
タグ名に ‘.’ が含まれる場合は、タグ名を ‘{’ と ‘}’ で囲みます。
$ cat data2 TAG1.1 TAG2.1 TAG3.1 TAG4.1 aaa1 bbb1 ccc1 ddd1 aaa2 bbb2 ccc2 ddd2 $ tagself {TAG1.1} {TAG2.1}.3 data2 TAG1.1 TAG2.1 aaa1 b1 aaa2 b2
注意
部分文字列指定で文字の途中で開始したり、文字の途中となる長さを指定したときはエラーとなります。
$ cat data3 TAG1 TAG2 USP 研究所 $ tagself TAG1.2.4 TAG2 data3 Error(682)[tagself] : Rec.2 error.
-f オプションを指定すると、エラーとならず、mojicut と同様に直前の文字境界の指定となります。
$ tagself -f TAG1.2.4 TAG2 data3 TAG1 TAG2 US 研究所
フィールドの幅より大きい開始位置やフィールドの先頭より前を指定してもエラーとなります。
$ tagself TAG1.20 TAG2 data3 Error(678)[tagself] : Rec.2 error. $ tagself TAG1.-20 TAG2 data3 Error(660)[tagself] : Rec.2 error.
ただし、-n<string> オプションを指定すると、エラーにならず、そのフィールドが <string> になります。
$ tagself -n_ TAG1.20 TAG2 TAG1 TAG2 _ 研究所
Version and Edition
Version : Tue Jun 18 19:00:37 JST 2019
Edition : 3
© 2021 Universal Shell Programming Laboratory site