首页 > 解决方案 > 如何使用 sed 从网页中提取文本

问题描述

嘿,我正在使用sedcurl的组合从网页example.com中提取一些文本

这是我的代码

curl -s http://example.com | sed -n -e 's/.*<h1>\(.*\)<\/h1>.*<p>\(This.*\)<\/p>/\1 \n \2/p'

但是,我没有得到任何输出。我可能做错了什么?

标签: bash

解决方案


尽管 sed 通常不是从网页中提取文本的正确工具,但它对于简单的任务可能就足够了。sed 是一个面向行的工具。所以每一行都会分开处理。

如果你真的想用 sed 来做,你会给出一些输出:

curl -s http://example.com | sed -n -e 's/.*<h1>\(.*\)<\/h1>/\1 \n/p' -e 's/<p>\(This.*\)/\1 \n/p'

推荐阅读