Я хочу удалить все таблицы, кроме немногих из них. Я использую следующую команду:Оставьте все таблицы, кроме определенных
mysqldump -uroot -pxxx --add-drop-table --no-data database | grep ^DROP | grep -v "^(cache|webform|redirect)([_a-z0-9]?)+$" | mysql -uroot -pxxx database
Регулярное выражение, кажется, хорошо по этому http://www.regexr.com/3aa8k, как таблицы, которые я хочу, чтобы пропустить это кэш *, * Webform, перенаправлять. Но проблема в том, что она все бросает.
Удалите последнюю команду 'mysql' вместе с трубкой перед ней, чтобы увидеть, что фильтруется' grep'. По какой-то причине 'grep' нуждается в символах' | '. Кроме того, возможно, что он будет интерпретировать '(', ')' и '+' иначе, чем вы ожидаете. Возможно, вы можете упростить 'regex'. – axiac