这是我在做什么(简化示例):
gsed -i -E 's/^(?!foo)(.*)$/bar\1/' file.txt
我试图把bar放在每个不以foo开头的行前面。这是错误:
gsed: -e expression #1,char 22: Invalid preceding regular expression
怎么了?
据我所知,sed既没有前瞻也没有后备。切换到类似语法的更强大的语言,如perl。