Я совершенно новый для Perl (как в, только начал играть с ним по необходимости сегодня днем), потому что мне приходится иметь дело с большими, громоздкими текстовыми файлами, которые вам нужны для включения в .sql. После работы через пару базовых регулярных выражений поиска/замены операции, я использовал следующую строку:Найти и заменить только в начале строки
s/$/');/g;
И я закончил с 300k + строк, которые выглядят следующим образом:
');INSERT INTO `test` VALUES('aa1b','MediaWiki1Deletecomment','1',5609');
К сожалению. Таким образом, это должно было положить ');
в конец каждой строки, но, очевидно, я неправильно понял и застрял в начале и конце строки. Итак, пару вопросов:
- Как бы я сделал это правильно? Очевидно, что я недопонимаю
s/$/');/g;
- Как исправить этот файл сейчас, когда я вставил
');
в начале каждой строки, как я выборочно просматриваю каждую строку и удаляю');
в начале строки, а не конец?
Этот Perl/Regex noob благодарит вас!
Ваш шаблон является правильным для добавления ' ');' в конце каждой строки, но '/ G' переключатель не требуется. Вы отметили этот вопрос с помощью '[mysql]', так можно ли предположить, что вы работаете на какой-то Unix-подобной платформе? –
Да, я. Наверное, я неправильно понял, какую функцию на самом деле выполняет/g. – Kale
И чтобы исправить файл, вы можете запустить 's/^ '\); //;' в каждой строке. – Simonize