我有一个由一些文本组成的文件,我感兴趣的是这个特定的行: BUILD = 0 其中BUILD的价值不断变化。
我需要帮助模式搜索“BUILD =”并用我的新字符串替换此模式之后的任何内容。
例如: BUILD = test
此外,我希望在原始文件上进行此编辑,而不是重定向。 如何使用sed完成这项工作?
感谢您的帮助。
答案 0 :(得分:3)
sed -i 's/\(BUILD = \)\(.*\)/\1hello/g' test.txt
注意:-i和“就地”一样
答案 1 :(得分:1)
这是我提出的一些“类似案例”的解决方案:
$ echo -e "0123\nBUILD = 2" | sed '/^BUILD =/ { s/0/a/; s/1/b/; s/2/c/; s/3/d/ }'
0123
BUILD = c
因此解决问题的命令的确切版本是:
sed -i.bak '/^BUILD =/ { s/0/a/; s/1/b/; s/2/c/; s/3/d/ }' somefile.txt
-i.bak
选项允许使用备份编辑到.bak
扩展名的文件。