sedで、最初に条件が合致した行に対してのみ置換や行の挿入、削除といった処理を行わせる場合、以下のようにコマンドを実行する。
最初に出てくる空白行を削除する
こちらでも紹介しているが、最初に出てくる空白行を削除する場合、以下のようにコマンドを実行する。
sed '0,/^$/{//d}'
[root@BS-PUB-CENT7-01 ~]# cat /tmp/test123_3
1111
222
3333
33333
[root@BS-PUB-CENT7-01 ~]# sed '0,/^$/{//d}' /tmp/test123_3
1111
222
3333
33333
最初にキーワードが出てくる行頭に文字列を追加する
最初に特定のキーワードが出てくる行に対して行頭に文字列を追加したりする場合は、以下のようにsedを実行する。
sed '0,/キーワード/{/キーワード/s/^/行頭に追加する文字列/}'
[root@BS-PUB-CENT7-01 ~]# cat /tmp/test123_3
1111
222
3333
33333
[root@BS-PUB-CENT7-01 ~]# sed '0,/3/{/3/s/^/line/}' /tmp/test123_3
1111
222
line3333
33333
とりあえず、使うとしたらこの辺だろうか。