菜鸟问题。
如果@
之前的字符不是”,我想用
> ”,”
替换所有@
要增加此命令cat foo.csv | sed 's/@/","/g'
最佳答案
你可以使用
sed -r 's/(^|[^"])@/\1","/g'
其中 (^|[^"])
是匹配行开头或除 "
之外的字符的组。 \1
是对 Group 1 的反向引用(空字符串或与 [^"]
括号表达式匹配的字符)。
有关不带 -r
的替代语法,请参阅 Kent's comment (您需要对 (
, )
、|
等特殊字符进行转义,以便它们充当特殊的正则表达式元字符)。
关于regex - 正则表达式 - 替换前面的 if 字符不是 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37860520/