我正在尝试在 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 中获得新值,但没有反射(reflect)任何更改。
最佳答案
您需要像这样使用双引号扩展变量,
sed -i "s/$old/$new/g" yoo
关于linux - 如何使用 sed 将文本替换为 ":",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27941797/