Я перемещаю базу данных из Sybase в MySQL.Для этого я экспортирую таблицы в файлы .csv, а затем загружаю их в новые таблицы в MySQL.При этом значения NULL преобразуются в 0 в MySQL, поэтому мне нужно отредактировать файлы .csv, чтобы найти, где нет значений, и заменить их на NULL.
Отредактировано: я экспортируюфайлы .csv из Sybase в Windows и работа с ними на виртуальной машине Unix.
Нулевые значения могут отображаться в средних столбцах: 3 ,,, 4,5 - здесь это должно выглядеть как 3,NULL, NULL, 4,5 Для этого я успешно использовал:
sed -i -e 's/,,/,NULL,/g' file_name.csv
(и запустил его два раза).
Проблема в том, что значения NULL находятся в последнем столбце: 3,4,5, - Это должно выглядеть как 3,4,5, NULL
В текстовом редакторе я успешно использовал find и replace: Find:, \ r \ n Replace:, NULL \r \ n
Я хочу автоматизировать это с терминала Unix, но это не работает.Я попробовал:
sed -i -e 's/,\r\n/,NULL\r\n/' file_name.csv
sed -i -e 's/,\\r\\n/,NULL\\r\\n/' file_name.csv
Спасибо!