複数のHTMLファイル(約500K)からテキストを抽出する必要があります。コピーするテキストは次のとおりです。<div class='cls '>text to be copied including some<span>and <p></p></span>and more text</div>
私が決める(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)
grepを使ってこれを行う方法についての他の質問を読んで、コマンドは次のとおりです。
grep -r "/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" *.html > output.txt
しかし、これはうまくいきません。私は何が間違っていましたか?
また試しましたpcregrep -r -regexp="/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" --file-list=fl.txt > output.txt
– 何もしませんでしたpcregrep -r -regexp="/(?:\<div\sclass\=\'cls\s\'\>)(.*)(?=\<\/div\>)/" > output.txt
– 何もしませんでした
編集1:次の形式の提案を試してください。
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> touch output.txt
grep: -r: No such file or directory
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> output.txt
grep: -r: No such file or directory
grep -f -r "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" *.html >> output.txt
grep: -r: No such file or directory
grep -f "/(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/" file111.html >> touch output.txt
grep: /(?:\<div\sclass\=\'desc\s\'\>)(.*)(?=\<\/div\>)/: No such file or directory
そして他の順列はまだありません
ベストアンサー1
なぜこんなに素晴らしい広告の鐘と笛を追加したのかわかりません。この単純な正規表現は私にとって効果的です。
grep "<div\sclass='cls\s'>.*<\/div>" file
<div class='cls '>text to be copied including some<span>and <p></p></span>and more text</div>