👛

テキストの置換コマンドについて

2024/06/06に公開

背景

PHPの学習をしている時にDockerを使用してローカルで開発をしています。
そこでよくターミナルでコマンドを使用していた時に「テキスト置換ってどのようにやるんだろう?」ふと思ったので、備忘録として残しておきます。
環境:MacBook Air AppleM2

環境設定

Macでは標準でsedコマンドがありますが、オプションなどが一般的な(Linux系)とは異なるそうなのでそちらに合わせるための準備をします。

ターミナルでGNU版sedをインストールする

brew install gnu-sed

これで完了。
あとは、対象のファイルを指定して、置換するテキストと置換後のテキストを指定して完了
対象ファイル:index.php
置換対象文字:テスト
置換後文字:hogehoge

sed 's/テスト/hogehoge/g' index.php

もしもの為にバックアップファイルを取りたいときは-i.bakとオプションをつけて実行を行う。

sed -i.bak 's/テスト/hogehoge/g' index.php

-iがオプションで.bakは任意の拡張子名なので.bak以外でも何でも良い。

Discussion