有没有办法在单个管道命令链中以有效的方式组合以下两个 UNIX 命令?



问题陈述

  1. 我想使用rpm -qi ${pkgName}识别包及其描述。
  2. cat -n(1( 的输出将使我在病房上产生哪条线 "说明"部分开始。

    例如:- 第 15 行,以防原子 IDE 编辑器以 rpm 为单位。

  3. 我知道我可以使用此行号再次解决输出和格式化部分,因为rpm -qi atom | awk -v n=${lineNum} 'NR>=n'.在这里lineNum将是15。

这是低效的,我只想使用rpm -qi命令一次,然后通过提取病房的描述部分来实现这一点。有人有办法做到这一点吗?

其他请求的输入

[anand@ldnpsr2937 ~]$rpm -qi atom
Name.       : atom
Version     : 1.42.0
Release     : 0.1
Architecture: x86_64
Install Date: Sun 12 Jan 2020 10:23:12 AM
Group       : Unspecified
Size        : 590646918
License     : MIT
Signature   : (none)
Source RPM  : atom-1.42.0-0.1.src.rpm
Build Date  : Sat 14 Dec 2019 03:38:56 AM
Build Host  : 2580f855e2eb
Relocations : /usr
URL         : https://atom.io/
Summary     : A hackable text editor for the 21st Century.
Description : 
A hackable text editor for the 21st Century.
[anand@ldnpsr2937 ~]$

无需组合某些内容,只需使用rpm命令即可查询特定标签。根本不需要sed和花哨的东西。

rpm -q --queryformat '%{description}' atom

你可能想要这样的东西:

rpm -qi atom | sed -ne '/^Description/,$ p'

我们使用sed打印匹配行之后的所有内容。但是,正如不同的答案所示,rpm有一个原生方法来实现这一目标。

最新更新