加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何使sed删除行不匹配替换

发布时间:2020-12-14 06:33:48 所属栏目:百科 来源:网络整理
导读:我基本上想这样做: cat file | grep 'expression' | sed 's/expression/replacement/g' 而不必写两次表达式: cat file | sed 's/expression/replacement/g' 有没有办法告诉sed不打印与替代命令中的正则表达式不匹配的行? 假设你有一个包含要替换的文本的
我基本上想这样做:
cat file | grep '<expression>' | sed 's/<expression>/<replacement>/g'

而不必写两次表达式:

cat file | sed 's/<expression>/<replacement>/g'

有没有办法告诉sed不打印与替代命令中的正则表达式不匹配的行?

假设你有一个包含要替换的文本的文件。
$ cat new.text 
A
B

如果要将A更改为理想状态,我们将执行以下操作:

$ sed 's/A/a/' new.text 
a
B

但是如果您不想获得不受替代影响的行,则可以使用n和p的组合,如下所示:

$ sed -n 's/A/a/p' new.text 
a

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读