awk vs mysqldump

Произошла ситуация, когда пришлось вытащить из 55 Гб файла дампа всех бд - только дамп одной бд.

И получилось сделать это благодаря утилите awk, вернее как я понял ее новой версии gawk.

Суть утилиты awk:

  1. пробегает по строкам указанного дамп-файла
  2. применяет к каждой строке то, что написано в скрип-файле
  3. во время пробега - значение каждой строки помещается в переменную $0
  4. во время пробега - каждое слово помещается в переменную с номером слова, например $1, $2 ....$n

Вот мой скрипт, который:

  1. при начале работы awk устанавливает переменную allow_write = 0
  2. если строка совпадает с значением "USE 'MySuperDbName';" то устанавливает переменную allow_write = 1
  3. если allow_write = 1, то awk записывает строку в файл "/var/tmp/awkNewDump.sql"
  4. если allow_write = 1 и  первое слово == "CREATE" и второе слово == "DATABASE", то awk завершает работу

Файл separate-dump.awk

#!/usr/bin/gawk -f

BEGIN {
  allow_write = 0
}
{
  if ($0 == "USE `MySuperDbName`;") {
  	allow_write = 1
  }

  if (allow_write == 1 && $1 == "CREATE" && $2 == "DATABASE") {
    exit 0;
  }

  if(allow_write == 1){
    print $0 >> "/var/tmp/awkNewDump.sql";
  }
}

Запускается так:

shell> ./separate-dump.awk < dump.sql

Удачки.

Источники: 1 - 2

Оцени публикацию:
  • 1,5
Оценили человек: 1

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Программы »