yeg*_*256 46 regex linux sed regex-lookarounds
这就是我正在做的(简化示例):
gsed -i -E 's/^(?!foo)(.*)$/bar\1/' file.txt
Run Code Online (Sandbox Code Playgroud)
我试图把bar每一行都放在前面foo.这是错误:
gsed: -e expression #1, char 22: Invalid preceding regular expression
Run Code Online (Sandbox Code Playgroud)
怎么了?
小智 118
sed -i '/^foo/! s/^/bar/' file.txt
Run Code Online (Sandbox Code Playgroud)
-i 将文件更改到位/^foo/!仅对不!以foo开头的行执行下一个操作 ^foos/^/bar/ 将行的开头更改为bar
Bir*_*rei 54
据我所知sed,既不前瞻也不后视.切换到具有类似语法的更强大的语言,例如perl.