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

環境
Red Hat Enterprise Linux release 9.2 (Plow)

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

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

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# sed s/aaa/AAA/ data.txt
555AAA222aaa
AAA222ccc444
ddd444AAA555
# sed s/aaa/AAA/ data.txt 555AAA222aaa AAA222ccc444 ddd444AAA555
# sed s/aaa/AAA/ data.txt
555AAA222aaa
AAA222ccc444
ddd444AAA555

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat data.txt
555aaa222aaa
aaa222ccc444
ddd444aaa555
# cat data.txt 555aaa222aaa aaa222ccc444 ddd444aaa555
# cat data.txt
555aaa222aaa
aaa222ccc444
ddd444aaa555

置換結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# sed s/aaa/BBB/g data.txt
555BBB222BBB
BBB222ccc444
ddd444BBB555
# sed s/aaa/BBB/g data.txt 555BBB222BBB BBB222ccc444 ddd444BBB555
# 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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat data.txt
555CCC222aaa
CCC222ccc444
ddd444CCC555
# cat data.txt 555CCC222aaa CCC222ccc444 ddd444CCC555
# cat data.txt
555CCC222aaa
CCC222ccc444
ddd444CCC555

 

IT

Posted by arkgame