使用VIM替换修改脚本

技术分享 Story 80浏览 0评论
摘要

使用VIM替换修改脚本

使用VIM替换修改脚本
从Oracle中导出的数据脚本,不能直接在SQL Server中使用,因为使用了to_date函数。insert into addr(........) values (........,to_date('08-01-2008 13:54:23', 'dd-mm-yyyy hh24:mi:ss'),........)。需要把蓝色字体替换成'08-01-2008 13:54:23',去掉to_date函数。几万条类似语句无法手工完成,而使用VIM强大的替换功能可轻松实现目的。

:%s/要替换的内容/替换后的内容/g
%表示全文查找,没有%表示在当前行查找
s表示替换
g表示全文替换
要替换的内容,可以使用正则表达式。一般编辑工具,只能替换成固定内容,而VIM替换可以根据替换内容来动态修改。如把to_date替换成第一对引号中的内容。只需把要继续使用的部分用括号包起来,然后再用1、2来表示引用。

:%s/todate('\(\_.\{-}\)', '\_.\{-}'),/'\1'/g
后面的1表示蓝色括号中的内容,1和()都加了\进行转义。_.表示任何字符,含空白字符和换行、制表等字符。{-}表示满足前面模式的内容可以有0到多个。通过这样一个命令就完成了脚本的转化。

转载请注明:成长的对话 » 使用VIM替换修改脚本