【发布时间】:2010-12-11 10:42:29
【问题描述】:
我正在编写一个脚本来将变量替换到 Java 属性文件中,格式为 name=value。我有一个源文件,source.env 像这样:
TEST_ENV_1=test environment variable one
TEST_ENV_2=http://test.environment.com/one
#this is a comment with an equal sign=blah
TEST_ENV_3=/var/log/test/env/2.log
我的脚本会将文件 dest.env 中出现的每个 TEST_ENV_1 替换为“测试环境变量一”,依此类推。
我正在尝试一次处理一行,但由于循环从 sed 或 grep 等命令的输出循环标记空白而不是整行:
$ for i in `sed '/^ *#/d;s/#.*//' source.env`; do
echo $i
done
TEST_ENV_1=test
environment
variable
one
TEST_ENV_2=http://test.environment.com/one
TEST_ENV_3=/var/log/test/env/2.log
如何将它们视为线条?我想要做的是在“=”符号上将每一行分开,并根据 source.env 文件使用一堆替换正则表达式制作一个 sed 脚本。
【问题讨论】: