文字列一括置換ソフトを探してます!条件が特殊です

このQ&Aのポイント
  • 複数のテキストファイルの指定文字列を一括置換したい。置換パターンは3万件。UNIXのsedコマンドは試したことない。
  • 3万件の単語を別の3万の単語に置換したい。現在はExcelマクロでセルの置換を行っている。
  • 置換リストはExcelで作成しており、ソフトに応じた形式で準備できる。
回答を見る
  • ベストアンサー

文字列一括置換ソフトを探してます

文字列一括置換ソフトを探してます・・・って書くと、Vectorに行けばいっぱいあると言われそうですが、ちょっと条件が特殊です。 ・複数(多分500~1000個)のテキストファイルの指定文字列を一括置換したい(ここまでは普通) ・対象の文字列の置換パターンが3万件(苦笑) ワイルドカードなどではなく、3万の単語を別の3万の単語に置換したいのです。 (プログラムの変数を、ネーミングルールを変えたために総入れ替えする・・・と考えて頂ければ分かっていただけるでしょうか) 10件くらいのパターンを連続して置換するソフトは見つかったのですが、3万件となると・・・。 (そもそも3万件のリストをよく作ったもんだ) UNIXにsedというコマンドがあるというのは聞いたことがあるのですが、Windows(&DOS)しか触ったことがないので、どうすれば良いのか分かりません(私はプログラマじゃありません)。 なお、同じネタでエクセルのワークシートのセルを置換する必要があるのですが、こちらは自作マクロで対応しています。 もし適当なソフトが見つからなければ、エクセルマクロの作成を検討しています。 (マクロでテキストファイルの読み込みはやったことがあるのですが、書き出しは多分やったことがない) 置換リストはエクセルで作成しているので、リストはソフトに応じた形式で準備できると思います。 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nerimaok
  • ベストアンサー率34% (1125/3220)
回答No.1

それこそ sed とか grep 使え・・・という答えになるんですが・・・ s/abcde/12345/ みたいに置換文字列の一覧作って食わせるだけです。

tomo73
質問者

お礼

回答ありがとうございます。 UNIX由来というだけでsedは無視していましたが、いろいろ調べて試したらある程度のところまで出来ました。 完全一致のもののみ変換するように検索パターンを作ろうとしたのですが、区切り文字がいろいろなパターンがあるため、正規表現で何とかしなきゃ~というところで本日は終了しました。

その他の回答 (1)

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.2

> なお、同じネタでエクセルのワークシートのセルを置換する必要があるのですが、こちらは自作マクロで対応しています。 ⇒原文がテキストファイルであれば、excelで読み込むことが出来ます。 お手持ちの自作マクロで変換後(今回の適用は文字置換?)、同様にテキストファイルで保存すればオッケーでは? 但し、読みこみ時/保存時の区切り指定によっては工夫が必要かもしれませんが… 簡単なテキスト文での確認では元に戻りましたよ。

tomo73
質問者

お礼

回答ありがとうございます。 マクロ程度のプログラミングも苦手で、毎回アタマがリセットされ、自分の書いたコードが理解できないありさまです。 そういえば正規表現を使ったコードを書いた記憶があるので、ネットで調べながら過去に作ったマクロを切り貼りして作ろうと思います。 (ほかの人が使うことを考えると、sedよりもマクロのほうがハードルが低いので・・・)

関連するQ&A

  • ワードで複数の文字を一括・連続置換するマクロ

    ワード(Word)で複数の文字を一括・連続置換するマクロを作りたいのです。 次の回答を参考にしてマクロを作ってみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 ところが、置換したい単語が100くらいになってきて扱いづらいので、 ワード(又はテキストやエクセルでも可)の置換文字のリストのファイルを参照して、同じように連続置換させたいのですが、どのような方法があるでしょうか? シェアウェアでも同様の機能をもつものがありますが、自由にカスタマイズできないので使えません。 (置換後の文字列に蛍光ペンをかけたいので)

  • 複数単語の一括検索,置換フリーソフト

    Wordファイルまたはプレインテキストファイル(1ファイル単位でいいです)にある 複数の文字列(できれば,ワイルドカード使いたい)を一括検索(蛍光表示,反転表示など)または,一括置換できるフリーソフトはありませんか. イメージとしては,複数の対象単語等文字列リストを, 。 . 下さい ください 一つ ひとつ 但し ただし などで,スペースやカンマで,検索単語と置換単語を区切った置換辞書リストを事前に 準備して,対象ファイルを入力して検索,置換できるようなイメージです.

  • 複数の文字列を同時に置換できるソフト

    こんにちは。 複数の文字列を一括で置換できるソフトで、 以下の条件に合ったソフトを探しております。 (1)HTMLファイルが読み込める。 (2)複数の文字列を同時に一括置換できる(複数行を対象に)。 (↑あらかじめ置換したいリストを作成・登録する形に なるのかもしれません。) (3)さらに複数のファイルで同時に置換できる。 上記の(1)、(2)は必須になります。 可能であれば、(3)ができれば大変助かります。 ・・以上のようなフリーソフトはありますでしょうか? ご回答よろしくお願い致します。

  • 複数PDFファイル内の特定文字列を一括置換したい

    社名変更に伴ない、数百個あるPDFファイル内にある社名部分を新しい社名に置換したいのですが、 通常のsed(ストリームエディタ)やテキストファイル用置換ツールでは、文字列の検出は行われても置換ができなくて困っています。 置換個所・対象ファイルが多いので、 「検索」->「タッチアップツール」->「書き換え」->・・・ では、気が遠くなりそうです。 一括置換出切る方法・ツールがあれば教えて下さい。

  • サーバー上の文字列一括置換

    ローカルファイルの文字列一括置換ソフトはいろいろあるようですが、これをサーバー上のファイルに行う方法はありませんか? 自分なりに調べてみたのでが、みつけることできなかったた為、 こちらから質問します。 よろしくお願いします。

  • テキスト置換ツールについて

    あらかじめExcelで作成した置換表(置換前文字列、置換後文字列の一覧)に基づいて、指定したファイル群のテキストを一括置換してくれるようなツールはないでしょうか。

  • xmlファイル内の文字列置換

    エクセルマクロ(VBA)で、xmlファイルを自動生成するツールを作成しようとしています。 やりたいことは、「テンプレートとなるxmlファイルを用意しておき、そのxmlファイルに記述してある特定の文字列を、エクセルで記入したデータで置換する」です。 似たようなマクロを作成された経験のある方いらっしゃいましたら、置換するために行う手順、及び必要な関数等を教えていただけますでしょうか。 何卒よろしくお願いいたします。

  • MacOSX上で動く文字列一括置換ソフト

    MacOSX(10.1)上で動く、複数ファイル内の対象文字列を一括で置換するためのフリーウェアを探しています。 どなたかごぞんじの方がいらしたら教えてください。 よろしくお願いいたします。

  • ExcelVBAでの文字列置換について

    ExcelVBAでの文字列置換について ExcelVBAは全く初心者のですが、下記の処理を早急に行う必要があり、質問させていただきます。 物品の使用者をエクセル管理しています。 シート1のA列に物品名、B列に現使用者名を入力しています。(約2000件) 一部の使用者に変更があった場合に、シート2に振替リストを シート2 A列=現使用者 B列=新使用者 と作成しています。 シート1のB列:現使用者から、シート2のA列:現使用者と同一な文字列を検索し、シート2B列:新使用者に置換するマクロはどのように書けばよいのでしょうか? 可能であれば、シート2のC列に置換結果を表示させたいです。

  • 別ファイルで用意されたデータを元に文字を一括置換するには?

    エクセル内の全シート、全セルにある文字をマクロで一括置換したいと思います。 置換したい文字は複数あり、その内容は別ファイル「置換.xls」に次のように記述されています。    A列   B列 1  等   など 2  有り  あり 3  無し  なし ※A列をB列に置換します。 ※置換の項目数は、実際には3つではなく、100近くあります。 どのようなマクロを書けばよいのかお教えいただけませんでしょうか? 具体的なコードでなくても、方向性だけを示していただいても助かります。 よろしくお願いいたします。 Excel2003を利用しています。

専門家に質問してみよう