gpt4 book ai didi

bash - 如何查找字符串并将其替换为引号?

转载 作者:行者123 更新时间:2023-11-29 09:38:53 26 4
gpt4 key购买 nike

如何找到用引号替换字符串?

输入文件:-

cat test.conf
DIR='/mnt/'

我想替换变量 NEWDIR,变量可以是“/opt”或“/mnt/iso”

注意:- 还应保留输入文件中的单引号。

NEWDIR="/opt/"
sed -i 's/^DIR=.*$/DIR=$NEWDIR/' test.conf

但它似乎并没有替换字符串

cat test.conf
DIR='/mnt/'

最佳答案

尝试:

NEWDIR=/mnt/
sed -i'' "s:^DIR=.*$:DIR='$NEWDIR':g" test.conf

OP 代码的更改:

  • 使用 : 作为 sed 的分隔符,以避免在 NEWDIR 中转义斜线
  • 使用 sed "..." 代替 sed '...' 以允许参数扩展

用这里的字符串测试它:

$ NEWDIR=/mnt/
$ sed "s:^DIR=.*$:DIR='$NEWDIR':g" <<< "DIR='/opt/'"
DIR='/mnt/'

关于bash - 如何查找字符串并将其替换为引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58813347/

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