RHEL9 sedコマンドで文字列を置換するサンプル

環境
Red Hat Enterprise Linux release 9.2 (Plow)

書式
sed [オプション] スクリプトコマンド 入力ファイル

操作例
1.最初にマッチしたものを置換します
data.txtファイル の各行で、 aaa と 最初にマッチした箇所 を AAA に置換します。
# cat data.txt
555aaa222aaa
aaa222ccc444
ddd444aaa555

実行結果

# sed s/aaa/AAA/ data.txt
555AAA222aaa
AAA222ccc444
ddd444AAA555

2.全て置換
data.txtファイル の各行で、 aaaにマッチする全ての箇所 を BBB に置換します。

# cat data.txt
555aaa222aaa
aaa222ccc444
ddd444aaa555

置換結果

# sed s/aaa/BBB/g data.txt
555BBB222BBB
BBB222ccc444
ddd444BBB555

3.文字列を置換して上書き
-iオプション を利用すると置換結果で上書きできます。
# cat data.txt
555aaa222aaa
aaa222ccc444
ddd444aaa555

置換を行います
# sed -i s/aaa/CCC/ data.txt

# cat data.txt
555CCC222aaa
CCC222ccc444
ddd444CCC555

 

IT

Posted by arkgame