首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在grep中使用指定的量词检索满意的词汇表

在grep中使用指定的量词检索满意的词汇表
EN

Stack Overflow用户
提问于 2018-03-27 01:35:28
回答 3查看 27关注 0票数 0

我试着从一个文件中抓取单词:

代码语言:javascript
复制
    $ grep -o '\*\*[^*]*\*\*' Principles_20_LifePrinciples.md | grep -v -e "Origin" -e "Etymology"

得到输出:

代码语言:javascript
复制
    **circumstance**
    **case**
    **condition**
    **Anxiety**
    **anxiety**
    **the state of feeling nervous or worried that sth bad is going to happen**
    **a worry or fear about sth**
    **a strong feeling of wanting to do sth or of wanting sth to happen**

我打算的结果是:

代码语言:javascript
复制
  # only words
    **circumstance**
    **case**
    **condition**
    **Anxiety**
    **anxiety**

具有指定量化符{,20}的重构代码

代码语言:javascript
复制
$ grep -o '\*\*[^*]{,20}\*\*' Principles_20_LifePrinciples.md

不幸的是,它没有返回任何信息。

如何解决这样的问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-27 01:45:01

您可以添加-E标志:

代码语言:javascript
复制
$ grep -E -o '\*\*[^*]{,20}\*\*' input | grep -v -e "Origin" -e "Etymology"
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**

您还可以只匹配只包含alpha字符的文本:

代码语言:javascript
复制
$ grep -o '\*\*[[:alpha:]]*\*\*' input

对于input,我使用了您的原始输出。

票数 0
EN

Stack Overflow用户

发布于 2018-03-27 06:29:09

既然你已经

代码语言:javascript
复制
grep -o '\*\*[^*]*\*\*' Principles_20_LifePrinciples.md

[^*]*中添加一个空格(即[^* ]*

票数 0
EN

Stack Overflow用户

发布于 2018-04-03 16:30:08

请注意

{ start,end},不应省略开始限定符。

代码语言:javascript
复制
$ grep -E -o '\*\*[^*]{0,20}\*\*' input | grep -v -e "Origin" -e 
"Etymology"
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49503099

复制
相关文章

相似问题

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