我有从一些其他文件中提取数据,形成一个大的(〜200MB)大批量SQL INSERT语句替换最后一个字符
INSERT INTO ...
VALUES
('a','b',1,2,3),
('c','d',4,5,6),
不幸的是,最后一行需要结束程序用分号代替逗号。有没有办法(最好在我的Perl程序中)只将,
的最后一个字符变成;
?
事情我已经尝试:该文件已完成,关闭
1)后:
open(DAT,">>$output") || die("Cannot Open File");
seek(DAT, 2, SEEK_END);
print DAT ";";
close(DAT);
这只是把一个分号在最后。
2)从我的perl程序中调用`perl -p -i -e 's/,$/;/g' $output`;
,但这是取代每个逗号。
3)打印最后一行时,以分号而不是逗号结束。但是这不起作用,因为我实际上并不知道这是直到写完这行为止的最后一行。
4)将整个文件复制到一个新的文件中,除了最后一个字符是;
而不是,
。然而这很慢,因此不理想。
你反对CPAN模块? – squiguy 2013-04-09 17:59:50
不幸的是。它运行在外部服务器上,具有相当严格的安装限制。不确定哪些模块可用。 不是最好的环境。 – AlexQueue 2013-04-09 18:01:52