使用属性文件中提到的值替换标记的脚本

时间:2012-10-09 10:24:45

标签: linux shell

我有一个包含数据的文件values.properties,如:

$ABC=10
$XYZ=20

我想创建一个shell脚本,它将从上面的文件中逐个获取每个元素。

说出$ ABC,然后转到ABC.txt&用10替换$ ABC的值。 同样,然后转到文件XYZ.txt并将$ XYZ替换为20。

1 个答案:

答案 0 :(得分:0)

我想也许这应该是在Unix和Linux部分,我一起攻击的解决方案如下:

cat values.properties  | grep "=" | cut -d "$" -f2 | awk -F "=" '{print "s/$"$1"/"$2"/g "$1".txt"}' | xargs -n2 sed -i

流程是这样的:

  1. 通过以下方式过滤掉所有值分配:grep“=”
  2. 通过以下方式删除'$':cut -d“$” - f2
  3. 使用awk拆分变量名称和值并构造sed替换命令
  4. 使用xargs通过以下方式提取替换参数和目标文件:xargs -n2
  5. 最后将sed传递给xargs:xargs -n2 sed
  6. 作为命令