2017-10-06 143 views
0

要求很简单,但由于我不是Linux专家,并且可用的代码从stackoverflow不起作用,所以我需要帮助。 我有信息的参数文件,在一个特定的行我有以下模式:使用linux sed命令更新文件

$$REFRESH_LOAD_TIME=200 

我需要一个shell脚本到200更新到作为参数传递给shell脚本通过了一项新的价值。下面的代码不能按预期工作。

#!/bin/bash 
RefreshUTCDateTime="$1" 
ParameterFileLocation ="$2" 
sed -i 's/$$REFRESH_LOAD_TIME/$$REFRESH_LOAD_TIME=$RefreshUTCDateTime /g' $ParameterFileLocation* 

期望值执行后,当作为参数传递。

$$REFRESH_LOAD_TIME=100 

我想通过这个A shell script to to change a value in a file with a parameter 但它并没有帮助。

回答

0
sed "s/\$\$REFRESH_LOAD_TIME.*/\$\$REFRESH_LOAD_TIME=$RefreshUTCDateTime /g" $ParameterFileLocation* 

简要说明,

  • 变量扩展发生在双引号。
  • 并且需要在sed中转义美元符号以进行模式替换。