sedで最初に条件が一致した行に対してのみ処理を行わせる
Pocket

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
Sponsored Links

最初にキーワードが出てくる行頭に文字列を追加する

最初に特定のキーワードが出てくる行に対して行頭に文字列を追加したりする場合は、以下のように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

 

 

とりあえず、使うとしたらこの辺だろうか。

Pocket

Written by blacknon

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

Leave a Comment

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