#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番にアップしました。ご利用いただけると幸いです。
アップに四苦八苦しているなあ。(;_;)