如何在sed命令中使用变量

普拉文

我有一个名为“ text_file1.txt”的文件,文件中的内容为“ subject = / C = US / O = AAA / OU = QA / OU = 12345 / OU = TESTAPP /”

现在我要实现的内容如下:“ subject = / C = US / O = AAA / $$$ QA / ### 12345 / @@@ TESTAPP /”

当我执行以下代码时:

#! /bin/ksh
OU1="QA"
OU2=12345
OU3="TESTAPP"
`sed -i "s/OU=$OU1/$$$\${OU1}/g" text_file1.txt`
`sed -i "s/OU=$OU2/###\${OU2}/g" text_file1.txt`
`sed -i "s/OU=$OU3/@@@\${OU3}/g" text_file1.txt`
content=`cat text_file1.txt`
echo "content:$content"

我得到这样的输出:

content:subject= /C=US/O=Wells Fargo/2865528655{OU1}/###12345/@@@TESTAPP/CN=03032015_CUST_2131_Unix_CLBLABB34C02.wellsfargo.com

仅此命令“ sed -i "s/OU=$OU1/$$$\${OU1}/g" text_file1.txt”无法按预期运行。有人可以对此提出建议吗?

提前致谢。

克劳斯证人

这是否有帮助?

echo ''
OU1="QA"
echo "subject= /C=US/O=AAA/OU=${OU1}/OU=12345/OU=TESTAPP/" \
| sed -e "s|/OU=${OU1}/|/OU=\$\$\$${OU1}/|g"

结果是:

主题= / C =美国/ O = AAA / OU = $$$质量检查/ OU = 12345 / OU = TESTAPP /

(您正在混淆使用$符号。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章