Заметка из разряда, чтобы не забыть.


Возникла необходимость поменять вывод заголовков со второго уровня на третий на сайте с большим количеством статей. Дамп занимает больше гигабайта, ни один из редакторов не смог открыть такой большой файл (vim, emacs не пробовал, да). Поэтому пришлось идти в обычный юниксовый терминал и работать в нём; небольшой поиск на подходящую утилиту привёл к релевантному ответу на стековерфлоу. так и начнём

Создаём дамп:

mysqldump -uUSER -pPSWD database > db.sql 

Заменяем открывающие теги и повторяем с закрывающими:

find ./db.sql | xargs sed -i -e s/<h2>/<h3>/g find ./db.sql | xargs sed -i -e s/'<\/h2>'/'<\/h3>'/g 

Заливаем отредактированный дамп базы обратно:

mysql -uUSER -pPSWD database < db.sql 

Все счастливы.

Update: для работы с гзипованным дампом используйте gunzip:

gunzip < db.sql.gz | mysql -uUSER -pPSWD database 
Редактировать / Начать обсуждение