「検索置換ラクダ と ConvChar について」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*検索置換ラクダ と ConvChar について
いずれも、Mac(クラシック)で利用できるテキスト置換アプリケーション。それぞれの名前と「青空文庫」をいっしょにキーワード検索すると、いつくかの紹介ページがあるので、参考にできる。
特徴として両方とも、安定している、変換辞書をテキストファイルとして利用・更新できる、わかりやすい。
大きなちがいは、
・ConvChar は、正規表現をつかえない、が、置換が超高速。
・検索置換ラクダ は、ConvChar のスピードには劣るものの、perl を経由しているので正規表現をつかった置換が可能。
**ハート計画では、置換場面によって併用することを提唱。
*検索置換ラクダ について
正規表現を利用するばあい、置換リストの行に「(tab)regex」と記述。大文字では機能しないので注意。正規表現が不要な置換のばあいは「(tab)regex」も不要。スピードも向上する。
それでも ConvChar の処理スピードにはおいつけないので、けっきょく、正規表現が不要な置換のばあいは、ConvChar 利用がいい。置換リストが少ないようであれば、いずれも超高速。ただ、外字注記やアクセント分解のように行数が多いばあい、その差が顕著にでる。
*事例
・アクセント分解置換のために3ステップの置換辞書を用意。
・処理1と3では(正規表現不要の)単純置換。2のみ正規表現を使用。
・作業環境がバラバラだと効率がわるいと思って、いずれも検索置換ラクダで通すことにした。
・ところが、処理1と3では置換リストが多量なため、処理に時間がかかった。そのうえ「Out of memory !」で、結局処理できない。
・そこで処理1と3のみ ConvChar で置換してみた。すると、同じ作業内容のはずなのに、信じられないくらいのスピードで処理終了した。
・対象:「作家別テキストファイル」からアクセント分解〔〕部分を抽出したリスト(1358行、49KB)
・検索置換ラクダ による処理1にかかった時間が、およそ5分くらいか。
・いっぽう、ConvChar による処理1が、およそ20秒(以下)。
・処理3にいたっては、検索置換ラクダ では Out of memory で作業放棄。ConvChar による処理3は、やはり20秒くらい。
*併用の注意点
スピードやメモリ負担の問題は、処理行数が多いことが原因だとおもわれるので、少ない置換リストであれば、検索置換ラクダもじゅうぶんに速い。
また、ConvChar では置換辞書のうしろの行から処理するのに対し、検索置換ラクダではたぶん、どうやら前の行から処理するもよう。期待する結果と異なるばあいがあるので、それぞれ要注意。
それから、ConvChar には OS X 版がまだない*1 ので、同じ作業を Unicode でするばあいには、検索置換ラクダの X 版に依存することになる(かもしれない)。
*1 CharConvX なるソフトがあるものの未確認。
それから、処理結果の出力ファイルネームのちがい。
ConvChar は、元ファイル名「+」(半角プラス)が付随した新規ファイルが作成される。いっぽう検索置換ラクダは、元ファイル名のまま。つまり上書きするので、元ファイルは別個保存しないと消失する。アクセント分解変換のように、アプリの併用・複数置換辞書の併用を要するばあいは、とくに注意。
2008.4.3
しだひろし/PoorBook G3'99
翻訳・朗読・転載は自由です。
----
#comment
*検索置換ラクダ と ConvChar について
いずれも、Mac(クラシック)で利用できるテキスト置換アプリケーション。それぞれの名前と「青空文庫」をいっしょにキーワード検索すると、いつくかの紹介ページがあるので、参考にできる。
特徴として両方とも、安定している、変換辞書をテキストファイルとして利用・更新できる、わかりやすい。
大きなちがいは、
・ConvChar は、&strike(){正規表現をつかえない、が、}置換が超高速。 (かんちがいしてました。要確認)
・検索置換ラクダ は、ConvChar のスピードには劣るものの、perl を経由しているので正規表現をつかった置換が可能。
**ハート計画では、置換場面によって併用することを提唱。
*検索置換ラクダ について
正規表現を利用するばあい、置換リストの行に「(tab)regex」と記述。大文字では機能しないので注意。正規表現が不要な置換のばあいは「(tab)regex」も不要。スピードも向上する。
それでも ConvChar の処理スピードにはおいつけないので、けっきょく、正規表現が不要な置換のばあいは、ConvChar 利用がいい。置換リストが少ないようであれば、いずれも超高速。ただ、外字注記やアクセント分解のように行数が多いばあい、その差が顕著にでる。
*事例
・アクセント分解置換のために3ステップの置換辞書を用意。
・処理1と3では(正規表現不要の)単純置換。2のみ正規表現を使用。
・作業環境がバラバラだと効率がわるいと思って、いずれも検索置換ラクダで通すことにした。
・ところが、処理1と3では置換リストが多量なため、処理に時間がかかった。そのうえ「Out of memory !」で、結局処理できない。
・そこで処理1と3のみ ConvChar で置換してみた。すると、同じ作業内容のはずなのに、信じられないくらいのスピードで処理終了した。
・対象:「作家別テキストファイル」からアクセント分解〔〕部分を抽出したリスト(1358行、49KB)
・検索置換ラクダ による処理1にかかった時間が、およそ5分くらいか。
・いっぽう、ConvChar による処理1が、およそ20秒(以下)。
・処理3にいたっては、検索置換ラクダ では Out of memory で作業放棄。ConvChar による処理3は、やはり20秒くらい。
*併用の注意点
スピードやメモリ負担の問題は、処理行数が多いことが原因だとおもわれるので、少ない置換リストであれば、検索置換ラクダもじゅうぶんに速い。
また、ConvChar では置換辞書のうしろの行から処理するのに対し、検索置換ラクダではたぶん、どうやら前の行から処理するもよう。期待する結果と異なるばあいがあるので、それぞれ要注意。
それから、ConvChar には OS X 版がまだない*1 ので、同じ作業を Unicode でするばあいには、検索置換ラクダの X 版に依存することになる(かもしれない)。
*1 CharConvX なるソフトがあるものの未確認。
それから、処理結果の出力ファイルネームのちがい。
ConvChar は、元ファイル名「+」(半角プラス)が付随した新規ファイルが作成される。いっぽう検索置換ラクダは、元ファイル名のまま。つまり上書きするので、元ファイルは別個保存しないと消失する。アクセント分解変換のように、アプリの併用・複数置換辞書の併用を要するばあいは、とくに注意。
公開:2008.4.3
更新:2008.4.9
しだひろし/PoorBook G3'99
翻訳・朗読・転載は自由です。
----
#comment