16555


環境はMac OS X 10.9です。  
エディタで検索置換するか、コンソールでするかなどは問いません。  
テキストは上書きされてもされなくても構いません。

> 例、以下のようなテキストを複数の検索置換ワードにバッチでかけて処理したい  
>  `<p>aaaaa</p>`  
>  ↓  
>  `<p class="hoge">bbbbb</p>`
>
> 検索ワード：aaaaa 置換ワード：bbbbb  
>  検索ワード：`^<p>` 置換ワード:`<p class="hoge">`

今のところ、CotEditor付属のrubyスクリプトが簡単にできたのですが、  
環境が異なると動作しなくなるなど少し不安定のようで、  
もっとシンプルな方法がないかを知りたく質問いたしました。


CC BY-SA 3.0
2015-09-12T14:28:12.497
16547
2015-09-13T06:53:22.833
2015-09-13T06:53:22.833
10492
12308
question
macos 正規表現
テキストに対して正規表現を含む複数の検索置換をバッチでかけたい


二つに分けずとも、検索ワード：`^<p>aaaaa<\/p>` 置換ワード：`<p
class="hoge">bbbbb<\/p>`で行けると思いますが、行頭を示す`^`を除いて正規表現の必要もほとんどないと思いますが、求めている回答とは主旨が違いますか？


CC BY-SA 3.0
2015-09-12T16:27:24.933
16552
2015-09-12T16:33:07.313
2015-09-12T16:33:07.313
7290
7290
16547
answer


`sed` を使うなどどうでしょうか。  
ターミナルから次を実行します。

[code]

    sed -i .bk -e 's/aaaaa/bbbbb/g' -e 's/^<p>/<p class="hoge">/g' TARGET_FILE
    
[/code]

このコマンドは、対象ファイルに上書きします。またその際元ファイルのバックアップ(`TARGET.bk`)を作成します。  
バックアップファイルが不要の場合は、

[code]

    sed -i .bk -e 's/aaaaa/bbbbb/g' -e 's/^<p>/<p class="hoge">/g' TARGET_FILE && rm TARGET_FILE.bk
    
[/code]

などするとよいです。


CC BY-SA 3.0
2015-09-13T06:03:47.790
16555
2015-09-13T06:32:53.030
2015-09-13T06:32:53.030
754
754
16547
answer