
DOSの「SED」でできるテーブル置換と同様のことを、「秀丸」マクロを使って、能率的にできないかと考えております。
たとえば、「目」「鼻」「口」を「め」「はな」「くち」に置換したい場合、「SED」では
---
s/目/め/g
s/鼻/はな/g
s/口/くち/g
---
という置換テーブルを作って、コマンドを実行すれば成功します。「秀丸」でも、
---
replaceall "目" , "め" , regular, nocasesense;
replaceall "鼻" , "はな" , regular, nocasesense;
replaceall "口" , "くち" , regular, nocasesense;
---
のようなマクロを作って実行すれば、一応同様の結果が得られます。
ところが、上記のような3行程度の命令ならいいのですが、命令行が100行とか200行とか長くなると、能率の問題が出ます。「SED」はほとんど能率は落ちませんが、「秀丸」マクロは1行1行置換していくため、たいへん能率が落ちてしまいます。能率よく置換できるマクロ記述方法がないものか、ご教示いただければ幸いです。
なお、私はこのような大量の語句置換をする必要がしばしばあり、昔からDOSで「SED」を使っていました。ところが、Windows Vistaを使うようになってから、Vistaでも以前のOSでも同じように動く「SED」の日本語版が見当たらないため、ついに「SED」の使用を断念しました。「秀丸」のマクロがその代わりになるかと思いましたが、能率の点で不満があります。つまりは、大量の語句をすばやく一括置換できればいいので、かならずしも「秀丸」マクロにはこだわりません。どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
んー標準的な仕様からすると、{ じゃなくて \{ のほうが規格に沿っているんですけどね。
まあMS-DOS用の sed ということでしたら規格が固まる前のものでしょうし、
作者が独自に拡張したりしてますしね。
置換を効率よく、というのが高速にという意味であれば
せいぜい画面の書き換えをoffにして置換を行うぐらいしかないのではないでしょうか。
秀丸のマクロでは文字列を対象にした置換というのはできないようですし。
別のツールを使うという方向では
Download: Windows > ユーティリティ > テキストファイル用 > テキスト変換
http://www.vector.co.jp/vpack/filearea/win/util/ …
にあるようなツールはもう試されてますか?
ありがとうございます。試してみたいツールがけっこうあります。「TextSS」などは以前使っていましたが、遠ざかっていました。しかし、今見ると、Vistaに対応するテキスト変換ソフトも多く出てきたようですね。
お話では、秀丸マクロだけで置換を行うのにはやはり限界がありそうなので、腹をくくって、テキスト変換ファイルの利用を考えてみたいと思います。秀丸でなんとかなるんじゃないかと未練があり、ご質問をした次第ですが、すっきりしました。ありがとうございました。
No.1
- 回答日時:
この回答への補足
ご紹介のSEDを含めて数種類試してみました。ご紹介のものはVistaでも動作しましたが、正規表現の方式が以前と若干違っていて、以前作ったSEDスクリプトが使えなかったりします(たとえば、“{”を“\{”にしなければならなくなった等)。新旧のOSで同一のSEDスクリプトを共有できず、SEDスクリプトを人にあげる場合などにトラブルを生じかねないので、いっそSEDはやめようと思いました。
この「人にあげる場合」というのが、私にとってけっこう重要です。私の周りには、そもそもDOSを扱える人自体が少なくなってきました。そんなこともあって、秀丸マクロ(秀丸なら周囲も使っています)で同じぐらいの能率で作業ができれば、と考えたわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
《》で囲まれた文字をすべて削...
-
Googleスプレッドシートでワイ...
-
ファイル名を特定の文字までを...
-
PS4コントローラーをPCでゲーム...
-
「彡」って文字はなんという文...
-
4Kの外部モニターに出力すると...
-
Microsoft365で作ったword文書...
-
データカウンター
-
EBCDIC⇒SJIS変換の方法
-
TV出力ポートをOFFにすれば良い...
-
エクセルでアルファベットか数...
-
エクセルのIF文で「NOT=...
-
変数内に入った文字列の結合 UWSC
-
std::stringからLPCWSTR型への変換
-
パワーポイントで文字の上に線...
-
【エクセル】セル最後にある無...
-
coutで出力した文字を消去する...
-
MMDでavi出力が出来ない
-
wordで均等割り付けをするとき...
-
VBA フォームのテキストボック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
正規表現で最初にマッチしたも...
-
正規表現で完全一致したキーワ...
-
TeraPadでの置換方法
-
ファイル名を特定の文字までを...
-
(*)を_【*】に一括変換したいの...
-
ファイル名に空白がある時、一...
-
《》で囲まれた文字をすべて削...
-
IME 郵便番号辞書 で 都道府...
-
【正規表現に詳しい方】ダブル...
-
タグを一度に消去したい
-
文字の置換のソフトを探してい...
-
Flexible Renamerの正規表現に...
-
テキストエディタで各行を二重...
-
Flexible Renamerの検索と置換...
-
CSVファイルの文字列を置換...
-
秀丸エディターのマクロ
-
秀丸のマクロで
-
EmEditorでの置換方法
-
txtファイルの複数行の特定の文...
おすすめ情報