Sed - 如何以多行方式打印正则表达式组?
输入文件(测试):
123456<a id="id1" name="name1" href="link1">This is link1</a>789<a id="id2"
href="link2">This is link2</a>0123
期望的输出:
link1
link2
我做了什么:
$ sed -e '/<a/{:begin;/<\/a>/!{N;b begin};s/<a\([^<]*\)<\/a>/QQ/;/<a/b begin}' test
123456QQ789QQ0123
问题: 如何在 sed 中打印正则表达式组(多行)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您像这样使用 sed:
那么它将在不同的行中打印:
但这是您要打印的内容吗?或者你想打印 href 中的文本?
更新 1:获取格式正确的
和
output
之间的 href更新 2:使用 bash 正则表达式功能获取上述输出
输出
If you use sed like this:
then it will print in different lines:
But is this what you are trying to print? Or you want to print text in hrefs?
Update 1: To get hrefs between well formed
<a
and</a>
output
Update 2: Getting above output using bash regex feature
output