テキスト ファイルを検索し、文字列を正規表現に置き換えるシンプルで軽量なプログラムはありますか?
10 に答える
Perl は、-i、-n、-p、および -e スイッチを使用して、これに優れています。例については、私のトークフィールド ガイドの Perl コマンド ライン スイッチのスライドを参照してください。
他の人は sed と awk について言及しており、Perl がそれらに触発されたのは当然のことです。ただし、Perl は、あなたやあなたのユーザーにとって、入手とインストールがより簡単な場合があります。
sedもあります。これは、基本を学ぶのに便利なツールです。正規表現ベースの置換をすばやく行うのに最適です。
簡単な例として、input.txt で「foo」を「bar」に変更するには ...
sed -e 's/foo/bar/g' input.txt > output.txt
1つまたは複数のファイルを処理しているかどうかによって異なります。プラットフォームを指定しなかったため、Windowsを使用していると思います。
一度に1つのファイルに対して、Notepad2はそのトリックを実行し、非常に高速で、軽量で、ポータブルです。
一度に複数のファイルを検索/置換するには、AgentRansackを試してください。
vim、emacs、EditPlus など、まともなテキスト エディタの多くにもこのオプションがあります。
sed または awk。本sed&awkで主題をマスターするか、ブックレットsed&awk ポケット リファレンスをクイック リファレンスとしてお勧めします。もちろん、正規表現をマスターすることは必須です...
使用しているプラットフォームについては言及していませんでした...比較的単純な GUI ツールに興味がある場合は、regxxerがあります。それ以外の場合は、前述の sed などのコマンドライン ツールが非常に役立ちます。
emacs または xemacs を使用します。完全な正規表現置換機能を備えています。/1 (または /2 または /3) のような構造を使用して、( ) で囲まれた置換で一致した式を取得することもできます。vi と emacs の衝突を防ぐには: vi も同様の構造を持ちます。この機能をサポートする最新のエディターはわかりません。
ヒント: 最初に単純な置換を試してみてください。特殊な RegExp 構造をエスケープするために '\' を追加する可能性があるため、少しわかりにくい場合があります...
プラットフォームがわからないので、このページにポップアップ表示された広告が適切かもしれません: PowerGREP. それについては何も知りませんが、探しているものと似ているように聞こえます。