我有shell脚本,作为脚本的一部分,我想更新a.conf
文件(它是配置文件),其中包括key-value
对、我想更新键的值。脚本要求用户输入我存储到变量中的值。我如何使用这些变量更新下面文件中的多个值。我尝试了sed
,但不确定如何使用它,只修改特定键的值
一个.conf文件
key1=value1
key2=value2
我尝试了下面的sed
命令,但它没有更新给定key
的value
-
sed -i -e "s/\($key1 *= *\).*/\1$newvalue/" $CONFIG_FILE
更新
如果我通过删除*=*\
之间的空格来更新上述命令,则新值将被附加到现有值,例如key1=value1newvalue
不知道我错过了什么
3条答案
按热度按时间nnsrf1az1#
我发现了一种方法来修改给定文件中特定键值的格式-
3b6akqbq2#
这里我逐行读取a.conf,并将key和瓦尔定义为变量,要求用户输入值,这些值在a.conf中用sed替换。
试运行:
wooyq4lh3#
使用Bash脚本通过sed更新文本此脚本首先运行cd到文件的位置,然后运行sed命令,并在文件名target.config中将旧值**#CONFIG_PACKAGE_oui-httpd = y替换为CONFIG_PACKAGE_oui-httpd=y**逻辑sed -i 's/old_text/New_Text/' filename.sh