2011-12-08 105 views
1

我试图找到一种方法来删除特定行的第一个匹配项,而不是最后一个。 为了解释这更好的,这里是我的文件:删除第一个匹配

(Foo Bar) 
Foo = B(ar)a(foo)r 

我的问题是,我想删除()及其中的文本。 这里是我当前的代码:

sed 's:(.*)::g' 

但它输出这样的:

Foo = Br 

取而代之的是:

Foo = Bar 

这将如何做呢?

回答

4

*是贪婪的,那会匹配到最后的)

sed 's:([^)]*)::g' 
+0

非常感谢,它工作。当它允许我将它作为答案宣传时。 – MiJyn