gpt4 book ai didi

unix - 使用sed,删除字符首次出现之前的所有内容

转载 作者:行者123 更新时间:2023-12-04 23:15:10 25 4
gpt4 key购买 nike

假设我有一条线看起来像这样

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

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

在这个例子中,我想得到结果
Bart and my second is =Homer

我现在正在使用 sed 's/.*[=:]//',但得到的结果是 Homer(在最后一个 =:之后的所有内容),我想在第一个之后获取所有内容,而不是最后一个 =:

最佳答案

通常,sed中的量词是贪婪的,这就是为什么您将始终匹配最后一个=的原因。定义第一个=的原因是,它前面的所有字符都不是=,因此:

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

您的问题暗示 :=是有效的标记,在这种情况下
sed 's/^[^=:]*[=:]//'

关于unix - 使用sed,删除字符首次出现之前的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44003133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com