2017-10-06 195 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中轉義美元符號以進行模式替換。