【发布时间】:2015-09-23 21:37:33
【问题描述】:
我有一个这样的模板文件
$ cat template.txt
QWERTY
~SQL~
ASDFG
我需要用以下文本替换模板文件中的"~SQL~" 字符串。此文本存储在变量中
SELECT COL1,
COL2,
COL3
FROM TABLE;
我尝试了以下代码,但出现错误:sed: -e expression #1, char 20: unterminated `s' command
$ query='SELECT COL1,
> COL2,
> COL3
> FROM TABLE;'
$
$ sed "s/~SQL~/$query/" template.txt
sed: -e expression #1, char 20: unterminated `s' command
如果我从"query" 中删除新行,sed 命令可以正常工作
$ query='SELECT COL1, COL2, COL3 FROM TABLE;'
$ sed "s/~SQL~/$query/" template.txt
QWERTY
SELECT COL1, COL2, COL3 FROM TABLE;
ASDFG
我想在替换文本时保留新行和格式。我如何做到这一点?
【问题讨论】: