sedでファイル内文字列の置換

スクリプト

#!/bin/sh
sed -i -e '/^#/s/banana/strawberry/' test.txt

変換対象ファイル

test.txt

apple
banana
orange

#apple
#banana
#orange

実行結果

test.txt

apple
banana
orange

#apple
#strawberry
#orange

説明

-i

対象ファイルを直接編集

-e

後に続くスクリプトを実行

'/^#/s/banana/strawberry/g'

行頭が#の行を対象に(^#)行内全て(g)の「banana」の文字列を「strawberry」に置換(s/banana/strawberry/)
※置換対象文字列にも正規表現は使用可

シェアする

  • このエントリーをはてなブックマークに追加

フォローする