sed 文本替换错误

sed 文本替换错误

我正在尝试使用以下方法用变量中的值替换文件中的文本sed

file=1601001000100000003_0003_0_E_2011-11-21_16-52-16.db

sed -i "s/yyyy/$file" tempsbchg.sh

sed返回:

sed: -e expression #1, char 58: unterminated `s' command

我也尝试过:

sed -i "s/yyyy/${file}" tempsbchg.sh

答案1

您需要“终止”替换——/在替换末尾加上:

file=1601001000100000003_0003_0_E_2011-11-21_16-52-16.db

sed -i "s/yyyy/$file/" tempsbchg.sh

答案2

您漏掉了最后一个/

尝试:

sed -i "s/yyyy/$file/" tempsbchg.sh

语法s(如替代)命令是's/regexp/replacement/flags'. / 字符可以统一替换为任何给定范围内的任何其他单个字符s命令。/ 字符(或代替该字符的任何其他字符)可以出现在正则表达式或替换只有当其前面有 \ 字符时才有效。

相关内容