sedで指定した行の先頭・末尾に文字列を追記する
Pocket

sedで、指定した行(特定の文字列から始まる行など)の先頭や末尾に文字列を追記するには、置換対象に正規表現で先頭(^)もしくは末尾($)を指定すればいい。

●指定行の先頭に文字列を追加する場合

sed '/文字列/s/^/追加文字列/g' 対象ファイル # 文字列を検索して行を指定
sed '◯s/^/追加文字列/g' 対象ファイル # 行番号を直接指定
[root@test-node ~]# cat /work/test_1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
[root@test-node ~]#
[root@test-node ~]# # 「ccc」を含む文字列をコメントアウトする
[root@test-node ~]# sed '/ccc/s/^/# /g' /work/test_1.txt
aaaaa
bbbbb
# ccccc
ddddd
eeeee
fffff
ggggg
[root@test-node ~]#
[root@test-node ~]# # 5行目をコメントアウトする
[root@test-node ~]# sed '5s/^/# /g' /work/test_1.txt
aaaaa
bbbbb
ccccc
ddddd
# eeeee
fffff
ggggg
Sponsored Links

●指定行の末尾に文字列を追加する場合

sed '/文字列/s/$/追加文字列/g' 対象ファイル # 文字列を検索して行を指定
sed '◯s/$/追加文字列/g' 対象ファイル # 行番号を直接指定
[root@test-node ~]# cat /work/test_1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
[root@test-node ~]#
[root@test-node ~]# # 「ddd」を含む行の末尾に文字列追加
[root@test-node ~]# sed '/ddd/s/$/-------/g' /work/test_1.txt
aaaaa
bbbbb
ccccc
ddddd-------
eeeee
fffff
ggggg
[root@test-node ~]#
[root@test-node ~]# # 6行目の末尾に文字列追加
[root@test-node ~]# sed '6s/$/-------/g' /work/test_1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff-------
ggggg

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。