
目次
TextParkとは ▼ TextParkの操作 ▼ ファイル情報の取得 ▼ 行末符号の検査と変換 ▼ 標準外字の検査 ▼ ファイルの結合と分割 ▼ ファイルの内容表示 ▼ テキストの字数や行数 ▼ 画像の形式と寸法 ▼ リソースの削除 ▼ 文字列の変換 ▼ 表のEPS化 ▼ 文書構造の表示 ▼ レコードの分類と検査 ▼ レコードの検索と置換 ▼ TextParkの配布 ▼
TextParkは,テキスト処理に関わる単機能のユーティリティ集です。TextParkは,配布・翻案共に自由なフリーウェアです。TextParkは,私(岸 和孝)が開発しました。
TextParkは,すべてPerlで書かれており,Perlインタプリターが導入されているMacOSまたはWindows95で動作可能です。
TextParkを翻案された場合は,ぜひスクリプトをお送り下さい。このページまたは「こてこて実験工房」で,より多くの方々へご紹介したいと思います。
なお,Ver.2.7から条件設定ファイル“TEXTPARK.CNT”による実行条件の設定が可能になるスクリプトが追加されましたが,すべてのスクリプトへ対応させるには少々時間がかかります。希望するオプション指定がありましたら,ご一報下さい。
TextParkは,ドラッグ・アンド・ドロップによってフォルダーまたはファイル単位にバッチ処理できるようになっています。次に示す手順で起動して下さい。
MS-Windows95における起動方法
|
|---|
| コマンドラインで“PERL スクリプト名 [ ファイル名 ] …”を指示すると, ファイル名 …の順に処理されます。 より簡単にするために, スクリプトを起動するための次のようなバッチファイルを作成して下さい。 例えば,FILELIST.PLについては“FILELIST.BAT”という名前にしておきます。 CD ファイルの格納されたディレクトリへのパス PERL スクリプト名 %1 %2 %3 %4 %5 ここで,引き数の参照は,コマンドラインが長くなりすぎますので,5個程度にします。 バッチファイルのアイコンへファイル …をドラッグ・アンド・ドロップすると, ファイル名 …の順に処理されます。 |
MacOSにおける起動方法
|
|---|
| Perlインタプリタを起動し, スクリプトをDroplet形式で保存します。 例えば,FILELIST.PLについては“FILELIST”という名前にしておきます。 スクリプトのDropletのアイコンへファイル …をドラッグ・アンド・ドロップすると, ファイル …の順に処理されます。 単なるラウンチでは引き数なしの起動となります。 ちなみに,ScriptメニューからRun Scriptでスクリプトを指示しても 「引き数なしの起動」となってしまいますので,注意して下さい。 |
| ▽すべてのスクリプトをdroplet形式へ自動的に変換する方法 同梱のアップルスクリプト“MAKETP”を実行すると, すべてのスクリプトを一遍にplain text形式からdroplet形式へ変換できます。 (1) TextParkのすべてのスクリプトをまとめて, “TEXTPARK”と名付けたフォルダーに入れ,デスクトップ上に置きます。 (2) 同梱の“MAKETP”をダブルクリックし, アップルスクリプト編集プログラムを起動します。 (3) 実行ボタンを押します。 (4) MacPerlインタプリタの格納場所を尋ねられますので,その場所を指示します。 (5) MAKETPの実行が行われます。 (5.1) デスクトップ上に“TEXTPARK Droplets”フォルダーが作られます。 (5.2) “TEXTPARK”フォルダーの各スクリプトが順次にMacPerlによって開かれ, “TEXTPARK Droplets”フォルダーへdroplet形式で保存されます。 (5.3) この処理が繰り返され,すべてのスクリプトの変換が終わると, 終了確認のダイアログが表示されます。 |
指定したディレクトリに含まれるすべてのディレクトリを最下位まで調べ,すべてのファイルについての情報[図1を参照]をログファイル“TEXTPARK.LOG”へ追加出力します。その操作はディレクトリをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
ファイルについての情報は,次のとおりです。
| ファイル名 |
| クリエータ(MacOSの場合) |
| ファイルタイプ(MacOSの場合) |
| 大きさ |
| 日付 |
FILELIST ver.2.5 access 1998/09/24 14:19:00 file name cre type size access modify change MyDisk:MyFolder:SGMLPage: books DIR 1998/08/28 1998/08/28 1998/05/25 char DIR 1998/08/26 1998/08/26 1998/05/31 dicsgml DIR 1998/07/13 1998/07/13 1997/10/31 dsssl DIR 1998/09/04 1998/09/04 1998/05/25 extra DIR 1998/09/21 1998/09/21 1998/07/13 img DIR 1998/09/14 1998/09/14 1998/05/25 index.htm MPS TEXT 282 1998/07/14 1998/07/14 1998/07/14 kotekote DIR 1998/08/31 1998/08/31 1998/06/06 links DIR 1998/09/20 1998/09/20 1998/06/30 news DIR 1998/09/12 1998/09/12 1998/05/25 note DIR 1998/09/14 1998/09/14 1998/06/01 papers DIR 1998/08/28 1998/08/28 1998/05/27 perl DIR 1998/09/24 1998/09/24 1998/05/25 qa DIR 1998/07/13 1998/07/13 1998/05/27 sgml DIR 1998/09/24 1998/09/24 1998/05/25 toc.htm MPS TEXT 3958 1998/09/24 1998/09/24 1998/07/21 top.htm MPS TEXT 1528 1998/07/14 1998/07/14 1998/07/14 xml DIR 1998/06/10 1998/06/10 1998/05/25 MyDisk:MyFolder:SGMLPage:xml: xml01.htm MPS TEXT 8706 1998/06/10 1998/06/10 1998/06/10 MyDisk:MyFolder:SGMLPage:sgml: dtdhtml.htm Edt7 TEXT 16450 1998/09/03 1998/09/03 1998/08/30 esis.htm MPS TEXT 8661 1998/06/10 1998/06/10 1998/06/10 htbleps.htm Edt7 TEXT 12827 1998/09/24 1998/09/24 1998/09/22 HTBLEPS.ZIP ZIP ZIP 35986 1998/09/23 1998/09/23 1998/09/23
▲図1 ファイル情報の取得
テキストファイルの行末符号(RE)の種類から,それを作成した機種(MacOS,Windows95,UNIX)を推定します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
Windows95テキストファイルの行末符号(CR-LF)をMacOS用(CR)へ変換します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
MacOSテキストファイルの行末符号(CR)をWindows95用(CR-LF)へ変換します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
UNIXテキストファイルの行末符号(LF)をMacOS用(CR)へ変換します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。このプログラムはMacOS,Windows95両用です。
テキストファイルに標準外字が含まれているかどうかを調べ,その結果をログファイル“TEXTPARK.LOG”へ追加出力します。ログファイルにおいて標準外字は“<!-- X hhhh -->”で表わされます。ここで,Xは外字,hhhhはその16進表現です。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
指定した複数のテキストファイルのすべてを一つのファイルに結合します。新しいファイル名は,`FILES.TXT'です。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
テキストファイルを特別な行に従って別々のファイルに分割します。分割を指示する行は`___END___'です。新しいファイル名は,元のファイル名に拡張子として連番`nnn'が付けたものです。その操作はファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
テキストファイルの内容を文字と16進数の対応で表わし[図2を参照],ログファイル“TEXTPARK.LOG”へ追加出力します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
機能符号は,次のように表わします。
| 符号 | 記号 | 16進数 |
|---|---|---|
| CR | \r | 0d |
| LF | \n | 0a |
| SUB | \$ | 1a |
| TAB | \t | 09 |
DUMP ver.2.5 access 1998/09/24 13:54:39 MyDisk:Desktop Folder:98-SGMLweb:SGMLPage:toc.htm 0 < ! D O C T Y P E H T M L P U B L I C ' - / / W 3 C / / D 3c21444f43545950452048544d4c205055424c494320272d2f2f5733432f2f44 32 T D H T M L E x p e r i m e n t a l 1 9 9 6 0 7 1 2 / / E 54442048544d4c204578706572696d656e74616c2031393936303731322f2f45 64 N ' > \r 4e273e0d 68 < H T M L > \r 3c48544d4c3e0d 75 < H E A D > \r 3c484541443e0d 82 < T I T L E > T h e S G M L P a g e < / T I T L E > \r 3c5449544c453e5468652053474d4c20506167653c2f5449544c453e0d 111 < / H E A D > \r 3c2f484541443e0d 119 \r 0d 120 < B O D Y B G C O L O R = W H I T E > \r 3c424f4459204247434f4c4f523d57484954453e0d 141 < C E N T E R > \r 3c43454e5445523e0d 150 < E M > T h e S G M L P a g e < / E M > < B R > < B R > 3c454d3e205468652053474d4c2050616765203c2f454d3e3c42523e3c42523e 182 \r 0d 183 < F O N T S I Z E = - 1 > 1 9 9 8 年 9 月 2 8 日 更 新 < 3c464f4e542053495a453d2d313e31393938944e398c8e323893fa8d5890563c 215 / F O N T > \r 2f464f4e543e0d 222 < / C E N T E R > \r 3c2f43454e5445523e0d 232 < H R > \r 3c48523e0d 237 \r 0d 238 < D I V > \r 3c4449563e0d 244 < I M G S R C = " . / i m g / q a . g i f " > \r 3c494d47205352433d222e2f696d672f71612e676966223e0d 269 < A H R E F = " . / q a / q a . h t m " T A R G E T = " m a 3c4120485245463d222e2f71612f71612e68746d22205441524745543d226d61 301 i n " > < B R > \r 696e223e3c42523e0d 310 S G M L 何 で も 相 談 室 < / A > \r 53474d4c89bd82c582e0918a926b8eba3c2f413e0d 331 < P R E > \r 3c5052453e0d 337 < / P R E > \r 3c2f5052453e0d 344 < / D I V > \r 3c2f4449563e0d 351 < H R > \r 3c48523e0d 356 \r 0d
▲図2 ファイルの内容表示
テキストデータを調べ,字数や行数を計算します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
画像データを調べ,画像の形式と寸法(幅,高さ)を表示します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
扱える画像の形式は,次のとおりです。
| GIF | GIF89形式のみ。 |
| EPSF | ASCII形式のみ。行末符号は機種に依存。 |
| TIFF | |
| JPEG | |
| PICT | MacOS用。 |
MacOSテキストファイルのデータリソース以外のリソースを削除します。結果のクリエータを'ttxt'に,ファイルタイプを'TEXT'にします。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS専用です。
テキストの中の,全角の英数字・記号を半角の英数字・記号へ,半角の仮名文字列を全角の仮名文字列へ,それぞれ変換します。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
指定した条件でテキストファイルのレコードを分類します。分類キーは100バイト以内の文字列とします。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
条件設定ファイル“TEXTPARK.CNT”で次の条件を設定できます。
| 条件 | キーワード | 指定できる値 |
|---|---|---|
| キー相対位置 | SORT-KEYS | キーとなる項目の相対番号(0〜) 省略時は,先頭の項目とみなします。 複数指定する場合はコンマで区切ります。 例:SORT-KEYS=0,2 |
| キー分類順序 | SORT-SEQS | “d”以外:昇順 “d” :降順 省略時は,昇順とみなします。 複数指定する場合は,キー相対位置に合わせてコンマで区切ります。 例:SORT-SEQS=a,d |
| 大小文字区別 | SORT-CASES | “c”以外:ASCIIの大小文字を区別しない “c” :ASCIIの大小文字を区別する 省略時は,区別しないとみなします。 複数指定する場合は,キー相対位置に合わせてコンマで区切ります。 例:SORT-CASES=,c |
| 区切り文字 | SORT-DELIMITTER | “\t”:タブ,コンマ,ピリオド,その他の文字(列) 例:SORT-DELIMITTER="\t" |
SORTで分類したテキストファイルについて同じ分類キーを持つレコードがあるか調べます。その操作はディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
条件設定ファイル$cnffileで設定できる条件はSORTと同じです。
指定した正規表現式に該当するレコードがあるか調べます。ディレクトリを指定した場合は,そのサブディレクトリまで調べます。 ディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
実行する前に,条件設定ファイル“TEXTPARK.CNT”で次の条件を設定しなければなりません。
| 条件 | キーワード | 指定できる値 |
|---|---|---|
| 正規表現式 | FINDS | 該当するレコードの正規表現式 省略時は,何も検索しません。 複数指定する場合は“/”で区切ります。 例:FINDS=/\stext\s/\sdocument\s/ |
| 非検索拡張子 | ESCS | 検索対象としないファイルの拡張子 MacOSの場合は,ファイルタイプが“TEXT”だけが検索対象となります。 省略時は,すべてのファイルを検索します。 複数指定する場合は“,”で区切ります。 例:ESCS=GIF,JPG,ZIP,TAR,EXE,DLL |
| オプション | FINDS-OPTION | “c”以外:大文字小文字を区別しません。 “c”:大文字小文字を区別します。 省略時は,大文字小文字を区別します。 例:FINDS-OPTION=c |
指定した正規表現式に該当するレコードの部分を指定文字列に置き換えます。ディレクトリを指定した場合は,そのサブディレクトリまで調べます。ディレクトリまたはファイルをドラッグアンドドロップすることによって行ないます。このプログラムはMacOS,Windows95両用です。
実行する前に,条件設定ファイル“TEXTPARK.CNT”で次の条件を設定しなければなりません。
| 条件 | キーワード | 指定できる値 |
|---|---|---|
| 正規表現式 | FINDS | 該当するレコードの正規表現式 省略時は,何も検索しません。 複数指定する場合は“/”で区切ります。 例:FINDS=/\stext\s/\sdocument\s/ |
| 置換文字列 | REPLACES | 該当した箇所に置き換える文字列 省略時は,何も置換しません。 複数指定する場合は“/”で区切ります。 正規表現式に合わせて指定します。 例:REPLACES=/テキスト/処理/ |
| 非検索拡張子 | ESCS | 検索対象としないファイルの拡張子 MacOSの場合は,ファイルタイプが“TEXT”だけが検索対象となります。 省略時は,すべてのファイルを検索します。 複数指定する場合は“,”で区切ります。 例:ESCS=GIF,JPG,ZIP,TAR,EXE,DLL |
| 検索オプション | FINDS-OPTION | “c”以外:大文字小文字を区別しません。 “c”:大文字小文字を区別します。 省略時は,大文字小文字を区別します。 例:FINDS-OPTION=c |
| 置換オプション | REPLS-OPTION | “e”以外:置換は文字列のままです。 “e”:置換文字列を式として評価します。 省略時は,置換は文字列のままです。 例:REPLS-OPTION=e |
(1998年1月記,1998年11月改訂,1999年3月改訂)