【发布时间】:2019-06-27 01:38:28
【问题描述】:
我们有要求,我需要在我们的配置文件中替换部分参数值。
例子
key1=123-456
我需要用新值替换连字符后的值。
我得到了在其他项目中使用的命令,但我不确定它是如何工作的。
命令
[test]$ cat test_sed_key_value.txt
key1=123-456
[test]$ sed -i -e '/key1/ s/-.*$/-789/' test_sed_key_value.txt
[test]$
[test]$ cat test_sed_key_value.txt
key1=123-789
[test]$
如果有人能解释上述命令是如何使用的,或者有没有更简单的方法可以使用 sed 来做到这一点,那将会很有帮助。
【问题讨论】:
-
格式是否符合您的要求? IE。您要替换的值实际上是否包含星号?您的示例和代码在此似乎不一致......
-
命令的哪一部分你不明白?请解释你理解的部分。
-
我经常使用sed命令替换值,格式-sed -i -e '/valueToSearchFor/NewValue/ReplaceGlobalOrSpecificValue' 但是描述中的命令有多个分隔符'/'
-
我要替换的值不会有任何星号,这是我从别人那里得到的命令,但我不明白它是如何工作的
-
你知道你可以edit你的问题来添加信息或解决问题吗?