После подтверждения того, что вы действительно хотите создать новую базу данных, в которой определенная строка заменена вне семантических c соображений, метод, который я уже предложил в моем первом комментарии, был подтвержден вами как решение для вас .
С некоторыми дополнительными деталями и пояснениями:
Используйте функцию .dump, ищите и заменяйте в выходных данных (сохраненных в текстовом файле). Затем создайте новую базу данных с нужным изменением, просто прочитав из «пустой» базы данных.
Пустую базу данных можно создать с помощью вызова sqlite с именем файла несуществующего файла. Подача этого вызова с помощью .dump
ed файла заполняет эту новую базу данных измененным вводом. Результат .dump
, конечно, может быть отредактирован с помощью sed
как один из способов поиска и замены.
Т.е., как вы прокомментировали, sqlite3 db.sqlite .dump | sed 's|FROM|TO|g' | sqlite3 db-new.sqlite
должен работать и, похоже, сделать трюк для вас.