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

正则表达式 – Grep模式匹配省略输出中的部分

发布时间:2020-12-14 05:48:36 所属栏目:百科 来源:网络整理
导读:是否可以只使用一个grep和 regexp组合来实现以下目的.说我有这样的文件: $cat f.txtline 1 fooline 2 boono matchline 3 blankline X no match 我希望匹配以字线开头的所有行,后跟一个数字,但只显示之后的内容,因此匹配的部分为(.*). $grep -E '^line [0-9]
是否可以只使用一个grep和 regexp组合来实现以下目的.说我有这样的文件:

$cat f.txt
line 1 foo
line 2 boo
no match
line 3 blank
line X no match

我希望匹配以字线开头的所有行,后跟一个数字,但只显示之后的内容,因此匹配的部分为(.*).

$grep -E '^line [0-9]+(.*)' f.txt 
line 1 foo
line 2 boo
line 3 blank

你能说匹配但不显示这部分^ line [0-9]喜欢做grep -o’^ line [0-9]’的反转

所以我的预期输出看起来像这样

$grep -E ***__magic__*** f.txt 
foo
boo
blank

解决方法

你可以使用sed

~$cat 1.txt
line 1 foo
line 2 boo
no match
line 3 blank
line X no match


$grep -E '^line [0-9]' 1.txt | sed 's/^line [0-9] //'
foo
boo
blank

更新
……或不使用sed

$grep -E '^line [0-9]' 1.txt | grep -oE '[a-z]*$'
foo
boo
blank

(编辑:李大同)

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

    推荐文章
      热点阅读