首页 > 解决方案 > 使用带分隔符的 sed 命令

问题描述

我有一个如下的文本文件,其中包含多行=,每行中间都有。

User name      =  user1
Date expire    =  Oct 20, 2019

Date expire我想=通过sed. 例如,Oct 25, 2019

我知道的基本用法,sed 's/foo/bar/g'但它用于固定字符串。我想通过检测特殊字符来更改部分句子。

我怎样才能做到这一点?

标签: regexsed

解决方案


请您尝试以下操作。

sed '/Date expire/s/\(.*= \).*/\1 your_new_text_here/'  Input_file

使用sed将匹配的正则表达式值存储到临时缓冲区的机制。将所有内容放入第一个缓冲区=,然后保留该行的其余值而不存储到缓冲区中。最后用第一个值和新值替换整行


推荐阅读