gpt4 book ai didi

linux - sed 和变量替换

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:38 27 4
gpt4 key购买 nike

我有以下脚本,它替换属性文件中的私钥。

#!/bin/bash

PUBLIC_KEY="1111\n2222\n3333"
PRIVATE_KEY="aaaa\nbbbb\ncccc"

sed -i "s|__PUBLIC_KEY__|${PUBLIC_KEY}|g" config.properties
sed -i "s|__PRIVATE_KEY__|${PRIVATE_KEY}|g" config.properties

替换之前的 config.properties 看起来像这样:

publicKey="__PUBLIC_KEY__"
privateKey="__PRIVATE_KEY__"

替换后的文件如下所示:

    publicKey="1111
2222
3333"
privateKey="aaaa
bbbb
cccc"

\n 字符在替换后似乎消失了,并且破坏了我的代码。

有人可以建议什么是理想的解决方案或解决方法吗?

最佳答案

由于您使用的是 BASH,因此您可以使用模式替换:

PUBLIC_KEY="1111\n2222\n3333"
PRIVATE_KEY="aaaa\nbbbb\ncccc"

sed -i "s|__PUBLIC_KEY__|${PUBLIC_KEY//\n/\\n}|g" config.properties
sed -i "s|__PRIVATE_KEY__|${PRIVATE_KEY//\n/\\n}|g" config.properties

它保持 PUBLIC_KEYPRIVATE_KEY 不变。

关于linux - sed 和变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60395593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com