我正在尝试对典型的 g++ 命令行进行一些修改。我正在尝试构建一个寻找构造的正则表达式-o object_filename.o
。为了测试我的匹配模式,我在 sed 中用一个空字符串作为替换启动它。但它没有按预期工作,因为它什么都没有删除......
$echo "-o toto.o" | sed 's/-o [^ ]+//'
-o toto.o
如果我理解正确,那么sed -E 's/-o.+?\.o//'
应该做你想做的事:
$ cat file
g++ .. -o object_filename.o some more options
g++ .. -o object1.o some more options
g++ .. -o foo_bar.o some more options
$ sed -E 's/-o.+?\.o//' file
g++ .. some more options
g++ .. some more options
g++ .. some more options