Как заменить строку в файле?

Как заменить строку в файле?

У меня есть следующая строка в файле, я хотел бы вставить ее \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'

Связанный контент