Bash脚本:在文件的特定行的最后一个字符处追加文本

我想从bash脚本的文件的特定行的最后一个字符附加一个variables。

该文件被称为myfile.txt ,我想要做的是在文件的包含唯一stringMYVERSION的行的最后一个字符之后追加名为VERSION的variables的内容。

也就是说,如果在这一行中有以下内容:

 MYVERSION=0.1 

VERSION="-custom_P1"然后,我想要有以下内容:

 MYVERSION=0.1-custom_P1 

谢谢大家的帮助。

Solutions Collecting From Web of "Bash脚本:在文件的特定行的最后一个字符处追加文本"

尝试这个:

 sed -i "/^MYVERSION=/ s/\$/$VERSION/" myfile.txt 

这个想法是,它找到一个以MYVERSION =开头的行,然后用$ VERSION环境变量的内容替换该行的结尾。

编辑:原来我不知道如果第一个$需要逃脱,但@ sehe的评论和其upvoters说服我说,它确实。

尝试

 sed -e "s/^MYVERSION=/MYVERSION=.*$/&${VERSION}/g" < myfile.txt 

该命令将VERSION的值附加到“MYVERSION =”行