我正在尝试使用sed来更新一些SQL命令,但是获取unterminated
s'命令`
命令:
sed -i -f commands.sed mySql.sql
commands.sed
s; if @ARI is not NULL
begin
exec spRun @Name='Txn', @NextValue=@Txn output
; if @ARI is not NULL
begin
select @Txn= @Txn+ 1
;g
你知道为什么吗?
谢谢你的时间!
答案 0 :(得分:4)
sed
以线路为导向。您的脚本包含模式中的换行符。所以它抱怨第一行,
s; if @ARI is not NULL
这显然是s
未终止的替代。你可能最好使用perl的正则表达式来处理
perl -0777 -ne 's/FROM\nLINE\n/TO\nTHIS\n/g;print'