使用SED替换图案

时间:2014-08-19 15:38:33

标签: unix sed

以下是我的示例脚本(名为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语句中做出哪些更改。

1 个答案:

答案 0 :(得分:1)

试试这个:

#!/bin/bash

printf -v o '%q' "$1"
printf -v p '%q' "$2"
q=$3

sed "/^$o=/s|.*|$o=$p|" "$q"  # > newfile.txt