这是一个创建于 4508 天前的主题,其中的信息可能已经有所发展或是发生改变。
编辑一个文件
形如
BEGIN
keyqwertyuiopsdfghjkldfghjkfs
sdfghjkldfghjkdfghjkl;
dfghjkdfghjklfghjkl
sdfghjkl;asdfghjklasdfghjk
COMMIT
UPDATE `xxx` set xxxxx
BEGIN
keyqwertyuiopsdfghjkldfghjkfs
sdfghjkldfghjkdfghjkl;
dfghjkdfghjklfghjkl
sdfghjkl;asdfghjklasdfghjk
COMMIT
UPDATE `xxx` set xxxxx
BEGIN
keyqwertyuiopsdfghjkldfghjkfs
sdfghjkldfghjkdfghjkl;
dfghjkdfghjklfghjkl
sdfghjkl;asdfghjklasdfghjk
COMMIT
UPDATE `xxx` set xxxxx
我想删掉其中从BEGIN到COMMIT结束的这个区块
只保留下各种sql语句
一开始我想只grep出sql语句到另外的文件,但因为这些语句包含了值后太乱,跨行的,转折的,还有一些错误需要手工修正,只能反过来,把所有从BEGIN到COMMIT的区块都删除。但居然尝试了半天没弄起来,求高手给个例子示范。
6 条回复 1970-01-01 08:00:00 +08:00  | | 1 bravejoe 2013 年 12 月 21 日 :%s/BEGIN\_.\+COMMIT//g |
 | | 2 bravejoe 2013 年 12 月 21 日 %s/BEGIN\_[^\(BEGIN\)]\+COMMIT//g |
 | | 3 xcatliu 2013 年 12 月 21 日 用宏吧 q1/BEGIN<enter><shift-v>/COMMIT<enter>d<esc>q 1000q |
 | | 5 maga 2013 年 12 月 23 日 :v/UPDATE/d |