我想在 Linux 中使用 sed 查找不以“rpms”结尾的行。
我已经尝试过以下:
sed -ne '/?!(rpms$)/p'
但不幸的是,这是不正确的。
答案1
在 sed 中执行此操作的一种方法是:
- 默认情况下不打印行 (
-n
) - 搜索给定的模式 (
/rpms$/
) - 并仅在图案为时才打印不是匹配 (
!
)
把它们放在一起:
sed -n '/rpms$/ !p'
如需更多阅读,这里有一篇sed教程,链接到有关反转模式匹配的相关部分。
或者在 sed 中,您可以
- 默认打印行
- 但删除匹配行 (
d
)
把它们放在一起产生:
sed '/rpms$/ d'