使用 sed 查找不以 'rpms' 结尾的行

使用 sed 查找不以 'rpms' 结尾的行

我想在 Linux 中使用 sed 查找不以“rpms”结尾的行。

我已经尝试过以下:

sed -ne '/?!(rpms$)/p'

但不幸的是,这是不正确的。

答案1

在 sed 中执行此操作的一种方法是:

  • 默认情况下不打印行 ( -n)
  • 搜索给定的模式 ( /rpms$/)
  • 并仅在图案为时才打印不是匹配 ( !)

把它们放在一起:

sed -n '/rpms$/ !p'

如需更多阅读,这里有一篇sed教程,链接到有关反转模式匹配的相关部分。

或者在 sed 中,您可以

  • 默认打印行
  • 但删除匹配行 ( d)

把它们放在一起产生:

sed '/rpms$/ d'

相关内容