
我在文件中有以下行,我想\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'