使用带有 sed 的正则表达式删除 html 标签
Remove html tag using regex with sed
说,
我有一个由 soffice --headless
命令生成的来自 Word (DOCX) 的 html 文件。然后我执行了 tidy
命令,通过从 Word 中删除不必要的 html/css 修饰,使 html 看起来干净。
我看到了类似的东西
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
... repeated 15 times
我执行了这些命令:
sed -e 's/<(.*?)><\/(.?)>//g' > ./hasil.html
sed -e 's/<[a-z] lang="(.*) class="western (.*?)><\/[a-z]>//g' > ./hasil.html
从 HTML 文件中删除 <p lang="en-US" class="western c31"></p>
无法正常工作。
我试过了 link or this link,但也没有用。
如有任何帮助,我们将不胜感激。谢谢。
sed 的所有正则表达式都是寻找(最左边的)最长匹配项。 Perl 和其他人可能支持 .*?
非贪婪正则表达式的形式,但 sed 不支持。
如果你想删除那些行,试试:
sed '\|<p lang="en-US" class="western c31"></p>|d' hasil.html
d
是sed的删除命令。
如果您想使用替代命令仅删除那些标签,而留下任何其他内容(如果有的话):
sed 's|<p lang="en-US" class="western c31"></p>||g' hasil.html
说,
我有一个由 soffice --headless
命令生成的来自 Word (DOCX) 的 html 文件。然后我执行了 tidy
命令,通过从 Word 中删除不必要的 html/css 修饰,使 html 看起来干净。
我看到了类似的东西
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
<p lang="en-US" class="western c31"></p>
... repeated 15 times
我执行了这些命令:
sed -e 's/<(.*?)><\/(.?)>//g' > ./hasil.html
sed -e 's/<[a-z] lang="(.*) class="western (.*?)><\/[a-z]>//g' > ./hasil.html
从 HTML 文件中删除 <p lang="en-US" class="western c31"></p>
无法正常工作。
我试过了 link or this link,但也没有用。
如有任何帮助,我们将不胜感激。谢谢。
sed 的所有正则表达式都是寻找(最左边的)最长匹配项。 Perl 和其他人可能支持 .*?
非贪婪正则表达式的形式,但 sed 不支持。
如果你想删除那些行,试试:
sed '\|<p lang="en-US" class="western c31"></p>|d' hasil.html
d
是sed的删除命令。
如果您想使用替代命令仅删除那些标签,而留下任何其他内容(如果有的话):
sed 's|<p lang="en-US" class="western c31"></p>||g' hasil.html