shell 脚本,用于使用参数更改文件中的值

A shell script to to change a value in a file with a parameter

我是一名 etl 开发人员,对 shell 脚本编写还很陌生,

我的文件是param.prm

[3_go:wf_test:s_test]

$Dbconnection=abcd

$Dbstring=qwert

我需要一个 shell 脚本来读取上述文件并使用我传递的变量动态更改 $dbconnection(现在是 abcd)的值,每次我 运行 脚本。我该怎么做?

$ sed 's/\($Dbconnection=\).*/NewValue/' param.prm 
[3_go:wf_test:s_test]

$Dbconnection=NewValue

$Dbstring=qwert

要就地更改文件,请使用 -i 选项。对于 GNU sed:

sed -i 's/\($Dbconnection=\).*/NewValue/' param.prm 

对于 BSD (OSX) sed:

sed -i "" 's/\($Dbconnection=\).*/NewValue/' param.prm