Какое самое быстрое / эффективное приложение для поиска / замены в * nix - PullRequest
3 голосов
/ 02 февраля 2011

У меня большой дамп SQL 250 МБ +, и мне нужно заменить www.mysite на dev.mysite. Я пробовал nano и vi для поиска / замены, но оба подавились. Nano даже не может открыть его, и vi уже час занимается поиском / заменой.

Кто-нибудь знает инструмент в * nix или windows системах, который быстро находит / заменяет большие файлы?

Ответы [ 3 ]

6 голосов
/ 02 февраля 2011
sed -i 's/www\.mysite/dev.mysite/g' dump.sql

(требуется пространство для временного хранения, равное размеру ввода)

4 голосов
/ 02 февраля 2011

Поиск / замена в дампе SQL не очень хорошая идея

  • Это не текстовые файлы
  • Синтаксические ошибки SQL легко вводятся
  • Иногда они содержат очень длинные строки.

Что вам нужно сделать, это загрузить его на непроизводственный сервер базы данных, запустить соответствующие операторы UPDATE, а затем сбросить его снова. Для этого вы можете использовать функцию REPLACE в MySQL.

1 голос
/ 02 февраля 2011

вам нужно sed

пример

sed -e "s/www.mysite/dev.mysite/g" your_large_sql

альтернативно, импортируйте sql в базу данных, затем используйте replace для замены подходящих строк

...