我正在尝试对典型的 g++ 命令行进行一些修改。我正在尝试构建一个寻找 -o object_filename.o
的正则表达式结构体。为了测试我的匹配模式,我在 sed 中启动它,并用一个空字符串作为替代。但它没有按预期工作,因为它没有删除任何内容......
$echo "-o toto.o" | sed 's/-o [^ ]+//'<br/>
-o toto.o
最佳答案
您缺少一个 -E
标志; without it, +
is not treated as a regex meta-character :
$echo "-o toto.o" | sed -E 's/-o [^ ]+//'
如预期的那样,上面的代码产生了一个空输出。
关于regex - 正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530182/