regex - 使用带分隔符的 sed 命令
问题描述
我有一个如下的文本文件,其中包含多行=
,每行中间都有。
User name = user1
Date expire = Oct 20, 2019
Date expire
我想=
通过sed
. 例如,Oct 25, 2019
。
我知道的基本用法,sed 's/foo/bar/g'
但它用于固定字符串。我想通过检测特殊字符来更改部分句子。
我怎样才能做到这一点?
解决方案
请您尝试以下操作。
sed '/Date expire/s/\(.*= \).*/\1 your_new_text_here/' Input_file
使用sed
将匹配的正则表达式值存储到临时缓冲区的机制。将所有内容放入第一个缓冲区=
,然后保留该行的其余值而不存储到缓冲区中。最后用第一个值和新值替换整行
推荐阅读
- javascript - 如何显示二十一点牌的洗牌结果?
- android - 根据选定的星期几显示日期
- python-3.x - Apache - sqlite3.OperationalError:尝试写入只读数据库
- sql - 如果一条记录包含某个值,如何排除整个组?
- reactjs - 如何在 React 中多次将数据从父组件传递到子组件?
- python - Pandas 数据框中 R 的等效“代表”
- matlab - Octave for 循环中的意外 printf() 行为
- ios - 如何在我的 xcode 项目中导入此文件
- c# - 如何使用 ControlPaint.DrawBorder 方法修改 ComboBox 的边框颜色?
- azure-ad-b2c - 使用 msal.js,Safari(桌面/iOS)的用户需要登录两次