多行的 Sed 模式

多行的 Sed 模式

我想从 mysql 脚本中删除所有创建表语句,但该语句跨越多行。

像这样:Create table ......NEWLINE... NEWLINE... NEWLINE....;

因此我尝试了这个语句,但是没有任何反应:

sed -i 's/CREATE TABLE(.*\n)*.*;`//' *.sql

Seq 每次只读取一行?我该如何修复这个问题?

答案1

CREATE TABLE将删除包含和的行之间的所有行;

sed -i '/CREATE TABLE/,/;/d' copy/dump.sql

相关内容