我想删除所有表格,除了少数几个。我使用以下命令:
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,正则表达式看起来很好,因为我想跳过的表是cache *,webform *,redirect。但问题是它会掉落一切。
答案 0 :(得分:0)
你的正则表达式是
grep -v "^(cache|webform|redirect)([_a-z0-9]?)+$"
这是扩展格式(旧{grep regexp中不允许|
和+
)
试试这个
grep -Ev "^(cache|webform|redirect)([_a-z0-9]?)+$"
或者可以转义元字符?
,+
,{
,|
,(
和)
反斜杠