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

unix – 使用sed,在第一次出现角色之前删除所有内容

发布时间:2020-12-15 21:19:55 所属栏目:安全 来源:网络整理
导读:假设我有一条看起来像这样的线 Hello my first name is =Bart and my second is =Homer 如果我想在第一个=或之后获取所有内容,我该怎么办?使用sed? 在这个例子中,我想得到结果 Bart and my second is =Homer 我现在正在使用sed的/.* [=:://’但我得到了Hom
假设我有一条看起来像这样的线

Hello my first name is =Bart and my second is =Homer

如果我想在第一个=或之后获取所有内容,我该怎么办?使用sed?

在这个例子中,我想得到结果

Bart and my second is =Homer

我现在正在使用sed的/.* [=:://’但我得到了Homer作为结果(在最后一个=或:)之后的所有内容我希望在第一个之后获得所有内容,而不是最后一个=或者:

解决方法

通常,sed中的量词是贪婪的,这就是为什么你总是匹配最后一个=.定义第一个=的是它之前的所有字符都不是=,所以:

sed 's/[^=]*=//'

您的问题暗示:或者=有效标记,在这种情况下

sed 's/[^=:]*[=:]//'

(编辑:李大同)

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

    推荐文章
      热点阅读