以下是我的示例脚本(名为test1.sh) -
o=$1 -- parameter to be changed (sample value - "$$START_DT")
p=$2 -- new value of the parameter
q=$3 -- file to be changed
var="${o}=${p}"
echo "$var1" --- will look like $$START_DT=2014-08-13
sed 's/*${o}*/ c\${var}/g' $q > newfile.txt
echo "Variable value changed"
所以基本上我需要用以下值更改文件 -
$$STRT_DT=2014-08-01
类似
$$STRT_DT=2014-08-23
我需要专门针对SED命令的帮助......我应该在SED语句中做出哪些更改。
答案 0 :(得分:1)
试试这个:
#!/bin/bash
printf -v o '%q' "$1"
printf -v p '%q' "$2"
q=$3
sed "/^$o=/s|.*|$o=$p|" "$q" # > newfile.txt