ファイル内のテキストを見つけてcsvにコピーする

ファイル内のテキストを見つけてcsvにコピーする

複数の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>

おすすめ記事