我有一个文件,其中包含以下行:
<li><b> Some Text:</b> More Text </li>
我想删除 html 标签并替换</b>
用破折号标记,所以它变成这样:
Some Text:- More Text
我正在尝试使用 sed 但找不到正确的正则表达式组合。
如果您严格想要删除所有 HTML 标签,但同时only更换</b>
带有一个标签-
,你可以链接两个简单的sed
带管道的命令:
cat your_file | sed 's|</b>|-|g' | sed 's|<[^>]*>||g' > stripped_file
这会将文件的所有内容传递给第一个sed
将处理替换的命令</b>
to a -
。然后,其输出将通过管道传输到sed
这将用空字符串替换所有 HTML 标签。最终输出将保存到新文件中stripped_file
.
使用与@Steve的其他答案类似的方法,您也可以使用sed
's -e
将表达式链接到单个(非管道命令)的选项;通过增加-i
,您还可以读入并替换原始文件的内容,而无需cat
,或一个新文件:
sed -i -e 's|</b>|-|g' -e 's|<[^>]*>||g' your_file
这将像上面的链接命令一样进行替换,但是这次它将直接替换输入文件中的内容。要保存到新文件,请删除-i
并添加> stripped_file
到最后(或您选择的任何文件名)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)