我必须将所有与 rpm 相关的信息发送到我们的日志分析器,并且我正在运行下面的命令,该命令给出如下连续输出:
命令
sudo rpm -qa --info | egrep 'Name|Version|Architecture|Install Date|Vendor|Description'
输出
Name : openssh-clients
Version : 7.4p1
Architecture: x86_64
Install Date: Fri 29 Nov 2019 02:31:40 PM UTC
Vendor : Amazon Linux
Description :
Name : p11-kit-trust
Version : 0.23.5
Architecture: x86_64
Install Date: Tue 18 Jun 2019 10:23:44 PM UTC
Vendor : Amazon Linux
Description :
Name : ec2-hibinit-agent
Version : 1.0.0
Architecture: noarch
Install Date: Fri 29 Nov 2019 02:31:44 PM UTC
Vendor : Amazon Linux
Description :
Name : python-slip-dbus
Version : 0.4.0
Architecture: noarch
Install Date: Tue 04 Feb 2020 12:41:09 PM UTC
Vendor : Amazon Linux
Description :
我希望在出现 Name 时拆分上述输出。应使用空格进行拆分。
答案1
您可以rpm
使用 来格式化您的输出--qf
。
查询格式是标准 printf(3) 格式的修改版本。该格式由静态字符串(可能包括标准 C 字符转义符,用于换行符、制表符和其他特殊字符)和 printf(3) 类型格式化程序组成。由于 rpm 已经知道要打印的类型,因此必须省略类型说明符,并用要打印的标头标记的名称替换,并用 {} 字符括起来。
我egrep
从你的声明中删除了它并使用了格式。
sudo rpm -qa --qf "Name\t : %{Name}\nVersion\t : %{Version}\nArchitecture: %{Arch}\nInstall Date: %{INSTALLTIME:date}\nVendor\t : %{Vendor}\nDescription : %{Description}\n\n"
输出
名称:vim-enhanced
版本:7.4.629
架构:x86_64
安装日期:2019 年 10 月 29 日星期二下午 02:53:20 UTC
供应商:CentOS
描述:VIM(VIsual editor iMproved)是 vi 编辑器的更新和改进版本。Vi 是 UNIX 第一个真正的基于屏幕的编辑器,至今仍非常流行。VIM 通过添加新功能对 vi 进行了改进:多个窗口、多级撤消、块突出显示等。vim-enhanced 软件包包含一个 VIM 版本,该版本具有最近引入的额外功能,例如 Python 和 Perl 解释器。
如果您想要使用包含最近添加的增强功能(如 Python 和 Perl 脚本语言解释器)的 VIM 编辑器版本,请安装 vim-enhanced 包。您还需要安装 vim-common 包。
名称:wget
版本:1.14
架构:x86_64
安装日期:2019 年 10 月 29 日星期二下午 2:54:15 UTC
供应商:CentOS
描述:GNU Wget 是一个文件检索实用程序,可以使用 HTTP 或
FTP 协议。Wget 的功能包括在您注销时在后台工作、目录的递归检索、文件名通配符匹配、远程文件时间戳存储和比较、使用 Rest 和 FTP 服务器以及 Range 和 HTTP 服务器通过缓慢或不稳定的连接检索文件、支持代理服务器和可配置性。
注意:标记中的格式看起来与我的屏幕上的不同。
还要注意,egrep 没有给你提供描述,因为描述从新行开始。
最后,描述中可以有空格。此方法将捕获完整描述。
您可以使用以下方式查看可用的标签:
rpm --querytags