我在文件中有以下行,我想\N
在两个逗号之间插入
20121128020001,2012-11-28 02:00:01.000,,,,,,,3.80,,,,,
我尝试使用种子
sed -i 's/,,/,\\N,/g' Test.CSV
我得到以下结果:
0121128020001,2012-11-28 02:00:01.000,\N,,\N,,\N,,3.80,\N,,\N,,
我可以运行两次,但在一个大文件中效率很低。如何修复 sed 命令?
答案1
将 Perl 与前瞻一起使用,以便第二个逗号不是匹配的一部分:
perl -pe 's/,(?=,)/,\\N/g'
或者,在同一行使用相同的表达式两次:
sed 's/,,/,\\N,/g;s/,,/,\\N,/g'