加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 与egrep正则表达式匹配的部分

发布时间:2020-12-14 05:38:44 所属栏目:百科 来源:网络整理
导读:我想知道,如果使用egrep((GNU grep)2.5.1),我可以选择匹配文本的一部分,例如: grep '^([a-zA-Z.-]+)[0-9]+' ./file.txt 所以我只得到括号之间匹配的部分 house.com 而不是像我通常得到的整条线: house.com112 假设我的file.txt中有一行house.com112. (实际
我想知道,如果使用egrep((GNU grep)2.5.1),我可以选择匹配文本的一部分,例如:

grep '^([a-zA-Z.-]+)[0-9]+' ./file.txt

所以我只得到括号之间匹配的部分

house.com

而不是像我通常得到的整条线:

house.com112

假设我的file.txt中有一行house.com112.

(实际上这个正则表达式只是一个例子,我只想知道我是否只能打印整行的一部分.)

我知道在某些语言中,例如PHP,Perl甚至AWK我都可以,但我不知道我是否可以使用egrep.

先感谢您!

解决方法

在grep找到匹配的行后使用sed修改结果:

grep '^[a-zA-Z.-]+[0-9]+' ./file.txt | sed 's/[0-9]+$//'

或者如果你只想坚持使用grep,你可以使用grep和-o开关而不是sed:

grep '^[a-zA-Z.-]+[0-9]+' ./file.txt | grep -o '[a-zA-Z.-]+'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读