假设我有一条看起来像这样的线
Hello my first name is =Bart and my second is =Homer
Run Code Online (Sandbox Code Playgroud)
如果我想在第一次=或:使用后获取所有内容,我该怎么办sed?
在这个例子中,我想得到结果
Bart and my second is =Homer
Run Code Online (Sandbox Code Playgroud)
我现在正在使用,sed 's/.*[=:]//'但我得到的Homer结果(一切都在最后一个=或之后:)我想在第一个之后得到所有东西,而不是最后一个=或者:
通常,量词sed是贪婪的,这就是为什么你总是匹配最后一个=.第一个定义的=是它之前的所有字符都不是=,所以:
sed 's/[^=]*=//'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您的问题暗示其中一个:或是=有效标记
sed 's/[^=:]*[=:]//'
Run Code Online (Sandbox Code Playgroud)