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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何使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

猜你在找的正则表达式相关文章