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