【发布时间】:2014-05-16 15:06:40
【问题描述】:
好的,我一直有这个问题。我只想要使用 yum 从 Linux 系统(RHEL 或 Fedora)通过 bash 脚本在文件中列出的可用更新,但我总是必须处理创建的标题信息,如下所示:
Loaded plugins: XXXX-repo XXXX-updates
: WWWWWW-repo something-updates QQQQQ-updates
Updated packages
package1.i686 1:234 RHEL 6.5 updates
package2.i686 1:234 RHEL 6.5 updates
package3.i686 1-234 RHEL 6.5 updates
package4.noarch 1.234 RHEL 6.5 updates
我想要的只是一个 package1、package2 等的列表,这看起来很简单,但这并不是因为我不能只在“updates”或“:”上使用 grep。我看错了吗?为什么我不想捕获在脚本中发现的更新?我应该只更新并检查已更新的内容吗?想法?
PS> 我不能使用 --noplugins 选项。
编辑:到目前为止我已经想出了这个,
sudo yum check-update | grep "\." | awk '(NR >=1) {print $1;}' | grep '^[[:alpha:]]'
基本上抓取带有句点的行,即第一行,并确保它首先包含字母。也许做得过头了,但它似乎奏效了。
【问题讨论】:
-
标题行总是 3 行吗?
-
不,它可以是任何东西......因此问题