首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grep -A|grep -o

grep -A|grep -o
EN

Stack Overflow用户
提问于 2018-12-23 08:29:52
回答 1查看 103关注 0票数 0

嘿,我正在尝试输出我想要的精确匹配的表达式(并且在HTML页面中有一系列这样的表达式)。为此,为了能够处理垃圾,我需要使用grep -A,然后根据这个结果匹配我想要的表达式。但是,它不起作用。之后我的期待是什么

代码语言:javascript
复制
curl -s https://somewebsite.com|grep A- 2 '<h3 class="title">'|grep -o '<a href="[a-zA-Z0-9./]+">'

我期望得到:

只有像这样的东西

代码语言:javascript
复制
<a href="/blah/blah/9/blah.">

但是相反,我得到了所有东西,就好像我根本没有第二个grep一样。

代码语言:javascript
复制
<h3 class="title">
<a href="/blah/blah/9/blah.">
</h3>

你们能帮我解决这个问题吗?

这是一个编辑,可能会对你们有帮助。如果我执行以下操作:

代码语言:javascript
复制
curl -s https://somewebsite.com|grep A- 2 '<h3 class="title">' >> test.txt
grep -o '<a href="[a-zA-Z0-9./]+">' test.txt

一切都运行得很好。

EN

回答 1

Stack Overflow用户

发布于 2019-02-15 08:58:22

我认为在使用grep时,您需要在您的模式中指定metacharacters的使用。这可以通过-E参数来完成:

代码语言:javascript
复制
$ curl -s 'https://somewebsite.com' |\
    grep -A 2 '<h3 class="title">' |\
      grep -Eo '<a href="[a-zA-Z0-9.\/]+">'

# <a href="/blah/blah/9/blah.">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53900320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档