そのために sed を使用できます:
sed -n -e 's/.*<b>\([^<]*\)<\/b>.*/\1/p' index.html
「-n」フラグは、指定した行のみを印刷するようにsedに指示します。
「s」コマンドは、正規表現に一致する文字列を別の文字列に置き換えます。正規表現 (regex) について説明します。
.*文字列にマッチ
<b>それぞれの文字列に一致します
\([^<]*\)はもう少し複雑です。手始めに、バックスラッシュで始まる括弧は、一致するものを補助変数に格納するように sed に指示します。は[^<]文字以外の任意の文字<と一致し、その後に続くアスタリスクは、そのシーケンス (つまり、 ではない文字のシーケンス) と一致する必要があることを示します<。
<\/b>は文字列に一致し</b>ますが、正規表現の終わりだと sed を混乱させないように、スラッシュ文字をバックスラッシュでエスケープする必要があります。
.*別の文字列に一致
正規表現の後に、何を代用するかを sed に伝える文字列が続きます。この場合、\1最初のキャプチャ グループを出力するように sed に指示するだけです (つまり、上記のパート 3 が一致したすべて、つまり と の間のすべてを意味します<b>) </b>。
最後に、最後のスラッシュの後に、置換された行を「p」文字で出力するように sed に指示します。上記の「-n」フラグを使用したため、正規表現と一致しない行は出力されません。
これが役立つことを願っています=)