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

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

 

 

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


Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

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

*