我在www.example.com中的一个名为newOccupation的变量中存储了一个字符串file2.sh。当我运行file2.sh时,我希望它用newOccupation中存储的字符串替换单词“occupation=”后面的内容。
因此,在本例中,运行脚本后,应将职业=“出纳员”更改为职业=“教师”
我试图从一个非常相似的线程Find and Replace Inside a Text File from a Bash Command中复制一些东西,但似乎不起作用。我不确定是否是由于在执行的命令中插入变量而不是字符串的格式问题。
file1.txt
name="Bobby"
age="23"
occupation="Cashier"
favoriteColor="Red"
file2.sh
newOccupation="Teacher"
sed -i -e 's/[occupation=]+/"'${newOccupation}'"/g' file1.txt
2条答案
按热度按时间lb3vh1jj1#
更改您的file2.sh:
vu8f3i0k2#
更改您的
sed
代码应该可以工作