0

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

$ABC=10
$XYZ=20

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

说 $ABC,然后转到文件 ABC.txt 并将 $ABC 的值替换为 10。类似地,然后转到文件 XYZ.txt 并将 $XYZ 替换为 20。

4

1 回答 1

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
于 2012-10-09T11:19:36.593 回答