Aar*_*lli 3 regex sed pattern-matching
我想知道如何使用 sed 替换包含模式的行,但前提是前一行具有另一个模式。我有一个包含以下内容的文本文件:
Property: ONE
Value: some_value
Property: TWO
Value: some_value
Property: THREE
Value: some_other_value
Run Code Online (Sandbox Code Playgroud)
因此,我想找到包含some_value的行,并将整行替换为另一行,或者仅更新值,但前提是属性行包含单词ONE。最终结果看起来像这样
Property: ONE
Value: replaced_value
Property: TWO
Value: some_value
Property: THREE
Value: some_other_value
Run Code Online (Sandbox Code Playgroud)
sed
你可以这样使用:
sed '/Property: ONE/{n;s/Value:.*/Value: replaced_value/}' file
Run Code Online (Sandbox Code Playgroud)
找到模式后Property: ONE
,我使用该命令将下一行读入模式缓冲区n
,并使用该命令替换该值s
。
归档时间: |
|
查看次数: |
593 次 |
最近记录: |