加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 使用sed修改key =“Value”配置

发布时间:2020-12-15 20:57:38 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个脚本来配置nother脚本使用的配置文件.我试图像这样使用sed sed -c -i "s/($TARGET_KEY *= *).*/1$REPLACEMENT_VALUE/" $CONFIG_FILE 但它没有工作,因为它旨在剥去引号,我不知道如何写它所以它不. 第二个问题是当我在Mac OS上运行时输出
我正在尝试编写一个脚本来配置nother脚本使用的配置文件.我试图像这样使用sed

sed -c -i "s/($TARGET_KEY *= *).*/1$REPLACEMENT_VALUE/" $CONFIG_FILE

但它没有工作,因为它旨在剥去引号,我不知道如何写它所以它不.

第二个问题是当我在Mac OS上运行时输出是一个错误:

sed: illegal option -- c
usage: sed script [-Ealn] [-i extension] [file ...]
   sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]

我是sed的新用户,请原谅我在这方面缺乏技能.

解决方法

看下面的测试,我没有添加“-i”,只打印输出.如果需要,你可以添加-i:

kent$ cat c.conf 
key1="value1"
foo   =   "fooValue"
bar="barValue"

kent$ echo $k1
foo

kent$ echo $v1
foo_new

kent$ sed -r "s/($k1 *= *").*/1$v1"/" c.conf
key1="value1"
foo   =   "foo_new"
bar="barValue"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读