#142 Article 175 Posted at 1993/08/31 03:09:46 by ISSEI (MAP2413) [TOOL.98]
Subject: テキスト取出し・取込みツールを3種アップしました。
★YAX・YAB 形式とは
元々、この形式は、「awk スクリプト掲載標準形式 第 1 版」として
日経 MIX・awk 会議において awk script を掲載する際の標準形式として、
awk/main 分科会での議論を元に制定されたものです。
具体的な形式としては
---------^ filename.def ( date:90-03-21 time:01:23 ) --------< cut here
マクロなどのテキスト
---------$ filename.def ( lines:123 )------------------------< cut here
というようにテキストをはさんでヘッダー・フッターをつけます。
これを作るためには、既に各種の環境が整えられています。
人力でやっているのではないのです。(^_^;)。いくら何でも。
現在のところ、perl・vz・awk の物があります。これらを使うことにより、
ヘッダーとフッターとをつけて埋め込めますし、逆に簡単に取り出すことも出来ます
yax、これを使う利点としては、
(1) タイムスタンプをヘッダーのファイル日時で出力 (バージョン管理が容易)
(2) もちろん自動的に切り取って、ファイル出力してくれる (うう、便利だ)
(3) 同じファイル名がカレントディレクトリあった場合はリネームしてくれる
(リネームの規則: 拡張子を数字の 000 からの連番にする。)
のようになっているので、上書きの心配もなく、安心して使えます。(^_^)/
ここでは、実際に、どう便利なのかを実感していただくため、
僕が作った、超低機能 awk スクリプトを入れておくことにいたしましょう。
このように、ただ、ヘッダーとフッターをつけるだけで、
役に立つ情報が、すぐ取り出せる環境が、手に入れられるのです。
これは、perl や awk のものだと、機械的に出力してくれます。便利だなあ。
----------^ mapdl.awk ( date:93-08-30 time:23:59 ) ---------< cut here
#ログファイルから、ダウンロードしたファイルの「DIRQ.DAT」形式ファイルを
#機械的に作る支援スクリプト(LHQ用のファイル形式です)
#
#★メイプル
/^Article/ {
leng = index($0,"#")
board = substr($0,leng+1);
num = $6;
}
/^Subject:/ {
# dai=$2
dai1 = substr($0,10)
}
/^<<< / {
leng2 = index($2,".")
name1 = substr($2,1,leng2-1);
name2 = substr($2,leng2+1);
name1 = toupper(name1);
gsub(/ /,"",name1);
name2 = toupper(name2);
gsub(/ /,"",name2);
printf ("現在 %s の「%s」を処理中です。\n",num,board) > "/dev/stderr";
printf ("\x1b[35;7m%s\x1b[m の %s 行目です。",FILENAME,NR)>"/dev/stderr";
printf ("-> \x1b[36;7m%s.%s\x1b[m\n",name1,name2)>"/dev/stderr";
printf ("%-8s %s %s\n",name1,name2,dai1)>"mapDL.dat"
printf ("%s %5s : %s.%s\n",FILENAME,NR,name1,name2)>"mapDL.tag"
}
----------$ mapdl.awk ( lines:28 ) -------------------------< cut here
余りに低機能なので、あまり期待しないでくださいね。m(_o_)m
ISSEI(MAP2413)
69番にアップしました。ご利用いただけると幸いです。
アップに四苦八苦しているなあ。(;_;)