sed匹配第一个单词替换整行

sed匹配第一个单词替换整行,sed,Sed,我知道这应该是直截了当的,但我被卡住了,对不起 我有两个文件都包含相同的参数,但值不同。我试图一次读取一行文件,获取参数名,在第二个文件中使用它进行匹配,并用文件1中的那行替换整行 e、 g.rw_2.core.fvbCore.Param.isEnable 1(FVB_参数) 变成 rw_2.core.fvbCore.Param.isEnable true(FVB_布尔值) 这些线的长度并不总是相同的,但我总是想替换整条线 我的代码如下,但它没有进行替换,我也不知道为什么不能 while rea

我知道这应该是直截了当的,但我被卡住了,对不起

我有两个文件都包含相同的参数,但值不同。我试图一次读取一行文件,获取参数名,在第二个文件中使用它进行匹配,并用文件1中的那行替换整行

e、 g.rw_2.core.fvbCore.Param.isEnable 1(FVB_参数) 变成 rw_2.core.fvbCore.Param.isEnable true(FVB_布尔值)

这些线的长度并不总是相同的,但我总是想替换整条线

我的代码如下,但它没有进行替换,我也不知道为什么不能

while read line; do         
   ParamName=`awk '{print $1}'`  
   sed -i 's/$ParamName.*/$line/g' FVB_Params.txt
done < FVB_Boolean.txt 
读行时
;做
ParamName=`awk'{print$1}'`
sed-i's/$ParamName.*/$line/g'FVB_Params.txt
完成
如果希望用变量值替换这些变量,则需要在双引号内使用sed命令。您有单引号,因此sed实际上是在寻找带美元符号的字符串,以替换为字符串“$line”,而不是您的shell在$line变量中的任何内容


简而言之,sed没有看到你想要的价值。切换到双引号。

^
??这有什么意义?你说在行首之前有一个字符?是的,很抱歉这是一个打字错误,我不知道如何编辑这个。忽略$paramnamedited之前的字符以更正