【发布时间】:2015-01-14 19:31:58
【问题描述】:
我正在尝试在 sed 的帮助下替换文本,但我真的很困惑找不到失败的原因。
Main file
===========
user@shell>cat test
new=21:58:22
old=09:58:22
echo $new
echo $old
user@shell>sed -i 's/$old/$new/g' yoo
user@shell>
user@shell>
desired output
==============
user@shell>cat yoo
09:58:22
09:58:22
09:58:2209:58:22
09:58:2209:58:22
asdasd
user@shell>
在此之后,我假设我将在文件 yoo 中获得新值,但没有任何更改是反射。
【问题讨论】:
-
使用双引号而不是单引号。
sed -i "s/$old/$new/g" yoo -
Shell 变量不扩展为单引号。
-
谢谢..效果很好。应该在问之前尝试过