sedの最短マッチ

スポンサーリンク

GNUのsedコマンドです。

やり方

[^最短マッチの文字]

を使う。

[^最短マッチの文字]*最短マッチの文字

みたいな感じ。

2018-04-16     2018-04-17     2018-04-18

ていう文字があるtest.txtから赤字部分を消して、

04-16     2018-04-17     2018-04-18

を取り出したい場合、最短マッチの文字は、「-」になるから、以下を実行すればよい。

[bash]sed s/[^-]*-// test.txt[/bash]

 

ポイント

間違ったやり方

[^最短マッチの文字].*最短マッチの文字

「.」は不要。

正しいやり方

[^最短マッチの文字]*最短マッチの文字

参考にしたサイト

sedの最短一致
最近知ったけど、sedはstream editorの略らしい。 それはどうでもよくて、sedの正規表現のマッチングの小技的なものをメモとして書いておく。 HTMLをパースする場合を考える。    例えば、 id data 1 AKB48 2 perfume 3 bump.y … ...

コメント