这就是我正在做的事(简化示例):
gsed -i -E 's/^(?!foo)(.*)$/bar\1/' file.txt
我正在尝试将
bar
放在不是以foo
开头的每一行的前面。这是错误:gsed: -e expression #1, char 22: Invalid preceding regular expression
怎么了?
最佳答案
据我所知,sed
既没有先行也没有先行。切换到具有类似语法的更强大的语言,例如perl
。
关于regex - GNU sed中的前瞻性正则表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12176026/