我正在尝试使用以下方法用变量中的值替换文件中的文本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命令。/ 字符(或代替该字符的任何其他字符)可以出现在正则表达式或替换只有当其前面有 \ 字符时才有效。