Описание тега media-scanner
Несколько раз я ловил себя на том, что было экспортировано .в SQL
- файлы, которые я хочу процесс, а не импортировать в базу данных.
Я говорю только о "чистых данных" SQL-файлов. Те, что есть ничто иное, чем вставить в
отчетности. (Они могут иметь некоторые пролог на вершине, что я могу игнорировать.)
Как правило, файлы будут иметь много строк, начинающихся с вставляем в
и заканчивая ;
между будет переменное количество "записей", начиная с (
заканчивая )
, и разделенные ,
. Каждый "рекорд" будет состоять из фиксированного количества "полей", которые также разделяются по ,
.
Фильтр должен вырезать все SQL-операторы, разделители, разделители и т. д. Нужно вывести только одну "запись" в строке с каждого "поля", разделенных сказать, запятая или знак табуляции.
В моем понимании это должно быть совершенно банальная и достаточно распространенная, что оно должно быть реализовано во много раз. Но я никогда не кажется, чтобы иметь возможность найти существующие инструменты или скрипты.
Обычно я стараюсь решить ее в Perl лечения ),(
как разделитель записей вместо \Н
но я всегда встреваю в мелочи.
У кого-нибудь есть (или может сделать) очень простой скрипт, который делает это? Меня не волнует, будет ли это в bash, СЭД, как awk, Perl и Python и т. д.
Вот некоторые реальные примеры данных. Я изменил его, есть только несколько записей на одну линию. Сами файлы имеют около миллиона символов в строке /заявление, прежде чем они достигают ;
и начать следующий.
Вставка в ценности categorylinks `
(0,'Wikisaurus','RunJobs.php','2008-01-27
03:10:30',",",'Страница'),(8,'Википедия','текст GNU бесплатно
ЛИЦЕНЗИОННОЙ ДОКУМЕНТАЦИИ','2011-01-26
23:50:34',",'прописные буквы','Страница'),(12,'Викисловарь", " что это Викисловарь
Не\nWHAT Викисловарь не','2011-04-10 18:22:23','что это Викисловарь
не','верхний','Страница'),(12,'Викисловарь:помочь", " что это Викисловарь
Не\nWHAT Викисловарь не','2011-04-10 18:22:23','что это Викисловарь
значения не','верхний','страница'); вставить в `categorylinks`
(2184,'Swedish_nouns','религия','2011-01-06
00:04:41',",'прописные','страница'),(2184,'Translations_to_be_checked_(албанский)','религия','2007-01-27
08:16:34',",'uppercase','page'),(2184,'Translations_to_be_checked_(Bulgarian)','RELIGION','2007-01-27
08:16:34',",'прописные буквы','страницы');
Вывод будет что-то подобное. Ли поля указаны или не, вероятно, не имеет значения. Вкладка запятой или раздельно не важно. Правильное экранирование запятых было бы необходимости.
0,'Wikisaurus','RunJobs.php','2008-01-27 03:10:30',",",'страница'
8,'Википедия','текст лицензии GNU на свободную документацию','2011-01-26 23:50:34',",'прописные','страницы'
12,'Викисловарь", "что Викисловарь не\nWHAT Викисловарь не','2011-04-10 18:22:23','что Викисловарь не','верхний','страницы'
12,'Викисловарь:помочь", "что Викисловарь не\nWHAT Викисловарь не','2011-04-10 18:22:23','что Викисловарь не','верхний','страницы'
2184,'Swedish_nouns','религия','2011-01-06 00:04:41',",'прописные','страницы'
2184,'Translations_to_be_checked_(албанский)','религия','2007-01-27 08:16:34',",'прописные','страницы'
2184,'Translations_to_be_checked_(болг)','религия','2007-01-27 08:16:34',",'прописные','страницы'
Данные обычно я работаю с является частью сваливает из Википедии и Викисловарь.