まくまくsed/awkノート
sed でパターンに一致する文字列を抽出する
2009-04-08

sed の s(置換)コマンドの p フラグを指定して実行すると、実際に変換された後の結果の文字列だけを出力することができます。 これを利用すれば、テキストファイル中の、あるパターンに一致するテキストの一部だけを抽出することができます。

例: HTML ファイル中の見出し(h1 など)のタイトルテキストのみを抜き出す

$ sed -n 's:<[Hh][1-6]>\(.\+\)</[Hh][1-6]>:\1:p' index.html

sed のデフォルトの振る舞いである、すべての行を出力するという動作を抑制するために、-n オプションを指定しないといけないことに注意してください。

2009-04-08