sed AWKを使用して開始パターンと終了パターンの間の文字列を抽出するには?

sed AWKを使用して開始パターンと終了パターンの間の文字列を抽出するには?

HTMLファイルがあり、パターン間の文字列を抽出したいと思います。ファイルは次のようになります。

<span>aghahan.com</span>
<span>pouyamannequin.com</span>

範囲を含むドメイン名が必要です:aghahan.com、pouyamannequin.com

私は次のコマンドを試しました。

sed -e 's/>!\(.*\)>.com<\/span>/\1/' domain.txt

しかし、私は間違った結果を得ています。誰でも私を助けてくれてありがとう。

ベストアンサー1

各行は<span>次から始めて終了します</span>

sed 's|<span>\(.*\)</span>|\1|' domain.txt

awkフィールド区切り文字を<またはに設定し、3番目の列を印刷して>これを行うこともできます。

awk -F '[<>]' '{print $3}' domain.txt

出力:

aghahan.com
pouyamannequin.com

これは最も簡単な方法で、行の末尾にスペースがある場合にも機能します。

おすすめ記事