Linux Bash脚本:在一些文件编辑之后恢复文件中的特定文本
这一问题与我在报告中提出的问题有关 在包含唯一字符串Linux Bash脚本:在一些文件编辑之后恢复文件中的特定文本,linux,bash,append,Linux,Bash,Append,这一问题与我在报告中提出的问题有关 在包含唯一字符串MYVERSION的(文件)行末尾追加变量后,我现在要恢复此行的初始内容 我设法将行的初始内容存储在一个名为的变量“OLD\u MY\u VERSION”中,但当我试图用sed恢复行时 -i“/^MYVERSION=/c\$$OLD\u MY\u VERSION myfile.txt 我得到的是“$MYVERSION=0.1”,而不是“MYVERSION=0.1”(当然没有引号) 关于如何删除额外字符($)有什么想法吗?如果我不放入额外的$,我
MYVERSION
的(文件)行末尾追加变量后,我现在要恢复此行的初始内容
我设法将行的初始内容存储在一个名为的变量“OLD\u MY\u VERSION”
中,但当我试图用sed恢复行时
-i“/^MYVERSION=/c\$$OLD\u MY\u VERSION myfile.txt
我得到的是“$MYVERSION=0.1”
,而不是“MYVERSION=0.1”
(当然没有引号)
关于如何删除额外字符($)有什么想法吗?如果我不放入额外的$,我将不会在替换中获得“OLD\u MY\u VERSION”
变量的内容,而只是“$OLD\u MY\u VERSION”
字符串
非常感谢。我想你应该试试这个:
sed -i "s/^MYVERSION=.*$/$OLD_MY_VERSION/" myfile.txt
这将(s
)以MYVERSION
开头的整行内容替换为$OLD\u MY\u VERSION
您也可以使用c
命令,但不需要命令中的\$
:
sed -i "/^MYVERSION/ c$OLD_MY_VERSION" myfile.txt