Я пытаюсь преобразовать выходной файл mysqldump в совместимый с PostgreSQL SQL. Проблема заключается в работе с экранированными строковыми значениями.
Мне нужно перейти от:
VALUES('blah blah blah','second string \'with escaped\'
quotes
and multiple lines goes here',35,10,'meh')
кому:
VALUES(E'blah blah blah',E'second string \'with escaped\'
quotes
and multiple lines goes here',35,10,E'meh')
Обратите внимание на добавление буквы «E» перед каждой строкой в одинарных кавычках.
Как это можно сделать в sed? Также открыт для использования других механизмов регулярных выражений, если я могу передавать их в потоковом режиме (здесь речь идет о файлах размером в несколько ГБ).
Мне пришло в голову, что это не редкость, поэтому я проверил сайт PostgreSQL, чтобы узнать, есть ли у них решения - и действительно, они перечисляют несколько инструментов для работы. Надеюсь, один из них вам подходит.