使用Linux SED命令更新文件



要求很简单,但是由于我不是Linux专家,并且来自Stackoverflow的可用代码不起作用,因此我需要帮助。我有一个参数文件以获取信息,在特定行中,我有以下模式:

$$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*

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

$$REFRESH_LOAD_TIME=100

我希望通过此shell脚本来更改用参数的文件中的值但这没有帮助。

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

简短说明,

  • 可变扩展发生在双引号中。
  • 需要在sed中逃脱美元符号以进行模式替换。

最新更新