gpt4 book ai didi

linux - shell:使用sed替换文件中的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:35 27 4
gpt4 key购买 nike

我正在编写一个脚本来替换 linux 文件中的字符串。

这是我的代码:

echo "Enter file name? "
read FILE1
echo "You have entered, $FILE1"

echo "String to be replaced "
read STR1
echo "You have entered, $STR1"

echo "Replace by "
read STR2
echo "You have entered, $STR2"

sed -i 's/$STR1/$STR2/g' /misc/home3/abc/$FILE1

echo "DONE !!"

文件中的字符串没有被替换。它有什么问题??

谢谢 :)

最佳答案

不要使用 ' 作为 sed 字符串,而是像这样使用 ":

sed -i "s/$STR1/$STR2/g" /misc/home3/abc/$FILE1

双引号允许 shell 在引用的文本内进行变量扩展。单勾 ' 可以防止这种情况。

关于linux - shell:使用sed替换文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25033397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com