首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Grep正则表达式

Grep正则表达式
EN

Unix & Linux用户
提问于 2016-09-30 05:34:58
回答 3查看 801关注 0票数 0

嗨,我有一个五位数的文件。

我试图使用grep打印从9开始的邮政编码,并且只能包含4-7之间的数字。

我使用的命令是

代码语言:javascript
运行
复制
grep '[4-7], 9'$ zipcodesDataEntry.cvs

问题是,我得到的邮政编码的数字为1,2,3,8,我的输出应该是:

代码语言:javascript
运行
复制
95544
94554
94445
95567

但是,我得到了一些邮政编码,例如:

代码语言:javascript
运行
复制
91121
92231 

我试图排除任何不是9并且在4-7范围内的数字。

EN

回答 3

Unix & Linux用户

发布于 2016-09-30 05:49:25

考虑到这一点:

代码语言:javascript
运行
复制
cat zipcodes 
95544 94554 94445 92231 95567 91121

我可以用这个grep:

代码语言:javascript
运行
复制
egrep -o '9[4-7]{4}' zipcodes 
95544
94554
94445
95567
票数 3
EN

Unix & Linux用户

发布于 2016-09-30 05:38:58

输入文件内容:

代码语言:javascript
运行
复制
95544 
94554 
94445 
95567
91121 
92231

使用awk (incase egrep不可用),您可以尝试如下所示:

代码语言:javascript
运行
复制
awk '/9[4-7]{4}/' zip.txt

输出:

代码语言:javascript
运行
复制
95544 
94554 
94445 
95567
票数 0
EN

Unix & Linux用户

发布于 2016-10-02 11:15:43

grep '^9.4-7.*‘zipcodesDataEntry.cvs

  1. ^正在比较的字符串的开头
  2. 。(句号)匹配任何字符
  3. 星号,零或更多
票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/313347

复制
相关文章

相似问题

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