Bash sedでファイルのテキストを置換する

    >
$ cat > hoge.md
hoge
hogehoge
hoge
$ sed -Ei 's/^(hoge)/# \1/g' hoge.md
$ cat hoge.md
# hoge
# hogehoge
# hoge

ポイント:
\1でグループマッチの再利用を使えるようにするためには-Eコマンドが必要。

(もしかしたら環境によっては-Eiではなく-eiにする必要があるかも知れない。わからない。)

使用例

MySQLでローカルネットワークアクセスできるようにするためにvim mysqld.cnfでbind-addressをコメントアウトする必要がある。
これを自動化する。

sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak
sudo sed -Ei 's/^(bind-address)/# \1/g' hoge.md /etc/mysql/mysql.conf.d/mysqld.cnf

お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


関連するかもしれない記事

Bashとahkで数秒ごとにキーをタイプする作業を数回繰り返すスクリプト
WSL BashとPowershellで簡単なタイマーアプリを作る
Bash JSONを整形して出力
bashでaliasなしでコマンドを実行
Bashでunicodeをuft-8へ変換
Bashでインターネットのスピードを計測(ダウンロード/アップロード)
Bash How to make a file null / ファイルを空にする


Close Menu