有没有人知道如何替换模式,除非它与使用sed的特定模式匹配
例如,除了"food“之外,所有的"foo”都应该替换。
发布于 2013-08-07 18:57:06
这可能适用于您(GNU sed):
sed -r ':a;s/foo([^d]|$)/xxx\1/;ta' file这将替换foo和以下字符,除非它是d。
发布于 2013-08-07 17:59:06
如果您对sed的替代方案持开放态度,perl的lookaround断言会很有帮助:
$ perl -E '$s="foofoofoodfoofood"; $s=~s/foo(?!d)/bar/g; say $s'
barbarfoodbarfoodhttps://stackoverflow.com/questions/18099939
复制相似问题