【发布时间】:2015-03-27 08:32:38
【问题描述】:
我想删除所有表格,除了少数几个。我正在使用以下命令:
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。