我有如下示例数据
'1','2','3,3','4'
我正在尝试找到一个 sed 命令将其更改为以下
'1','2','NEW','4'
首先,我尝试了以下示例
1,2,3,4
这个 sed 可以工作
's/[^,]*/NEW/'3
结果
1,2,NEW,4
但我无法弄清楚如何处理下面的示例数据......
'1','2','3,3','4'
帮助?
答案1
也许最简单的解决方案是在外部使用双引号:
$ echo "'1','2','3,3','4'" | sed "s/'[^']*'/'NEW'/3"
'1','2','NEW','4'
否则,可以使用类似的序列'\''
来关闭和重新打开转义文字引号周围的单引号:
$ echo "'1','2','3,3','4'" | sed 's/'\''[^'\'']*'\''/'\''NEW'\''/3'
'1','2','NEW','4'