我在 Unix 中有一个文件,其中包含数百万条 SQL 语句。现在其中一些被分成多行。显然,我希望它们使用 sed 或 awk 或其他任何处理组合成一行。
例子:
INSERT INTO EMP
(EMP,ENAME)
VALUES
('1', 'John');
或者
UPDATE EMP SET
ENAME='Samantha' WHERE
DEPT=20;
现在该文件还可以包含 SQL 集合语句,例如:
set term off;
我们不需要对这些行做任何事情。
所以基本上我们需要找到以'INSERT'或'UPDATE'或'DELETE'开头的行,然后开始在多行中搜索下一个分号并将这些行连接起来形成一行。我们可以在 awk/sed/perl 中实现它吗?