Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash脚本:在一些文件编辑之后恢复文件中的特定文本_Linux_Bash_Append - Fatal编程技术网

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