2 つのラベル間のテキスト

2 つのラベル間のテキスト

<tr> </tr>HTMLドキュメントでこれら2つのタグ間のすべてのコンテンツを検索したいと思います。現在、htmlパーサーを保護するための特定のhtml要件はありません。私は単に一致する必要があり<tr></tr>それらの間のすべてを取得し、いくつかのことができますtr。私はawkを試しましたが、うまくいきましたが、何らかの理由で抽出したすべての行に重複する項目を提供しました。

awk '
/<TR/{p=1; s=$0}
p && /<\/TR>/{print $0 FS s; s=""; p=0}
p' htmlfile> newfile

この問題をどうすればよいですか?

ベストアンサー1

...あなたがしたい場合<tr>...</tr>

grep -o '<tr>.*</tr>' HTMLFILE | sed 's/\(<tr>\|<\/tr>\)//g' > NEWFILE

複数行の場合は、次のようにします。

tr "\n" "|" < HTMLFILE | grep -o '<tr>.*</tr>' | sed 's/\(<tr>\|<\/tr>\)//g;s/|/\n/g' > NEWFILE

まずHTMLFILEで「|」文字(一般的ではありませんが可能)を確認し、存在する場合は存在しない文字に変更してください。

おすすめ記事