thi*_*zy4 9 regex unix bash sed
我有一个包含以下行的文件:
<li><b> Some Text:</b> More Text </li>
Run Code Online (Sandbox Code Playgroud)
我想删除html标签并用</b>
短划线替换标签,所以它变成这样:
一些文字: - 更多文字
我正在尝试使用sed但是我找不到合适的正则表达式组合.
new*_*rey 14
如果您严格要删除所有HTML标记,但同时只</b>
用a 替换标记-
,则可以sed
使用管道链接两个简单命令:
cat your_file | sed 's|</b>|-|g' | sed 's|<[^>]*>||g' > stripped_file
Run Code Online (Sandbox Code Playgroud)
这会将所有文件的内容传递给第一个sed
将处理替换</b>
为a的命令-
.然后,它的输出将通过管道输出到将sed
用空字符串替换所有HTML标记.最终输出将保存到新文件中stripped_file
.
使用与@Steve中的其他答案类似的方法,您还可以使用sed
's -e
选项将表达式链接到单个(非管道命令); 通过添加-i
,您还可以在不需要cat
或新文件的情况下读入和替换原始文件的内容:
sed -i -e 's|</b>|-|g' -e 's|<[^>]*>||g' your_file
Run Code Online (Sandbox Code Playgroud)
这将像上面的chained-command一样进行替换,但这次它将直接替换输入文件中的内容.要保存到新文件,请删除-i
并添加> stripped_file
到末尾(或您选择的任何文件名).
归档时间: |
|
查看次数: |
12300 次 |
最近记录: |