如何读取“apt search”返回的输出的第一个字段?

如何读取“apt search”返回的输出的第一个字段?

我猜i是安装了,但是其他的呢?

$ apt search * | sort -t' ' -k1 | cut -c1 | uniq
c
i
p
v

答案1

apt search的输出采用以下形式

package name/suites version architecture [state]
  description

因此提取第一列不会提供太多有用的信息。

解决您更新的问题你的评论,“如何知道搜索和检查是否同时安装?”,您可以使用

apt search $pattern | grep -A1 '\[.*installed.*\]'

这将显示已安装的软件包匹配$pattern;例如在我的系统上

$ apt search evdev | grep -A1 '\[.*installed.*\]'

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

evemu-tools/stable,now 2.7.0-1 amd64 [installed,automatic]
  Linux Input Event Device Emulation Library - test tools
--
joystick/stable,now 1:1.6.1-1 amd64 [installed]
  set of testing and calibration tools for joysticks
--
libevdev-build-deps/now 1.6.0+dfsg-1 all [installed,local]
  build-dependencies for libevdev
--

ETC。

警告在这里无关紧要;您无法通过使用来避免它apt-cache,因为apt-cache它没有显示所需的所有信息。

你也可以使用aptitude

aptitude search '~i evdev`

将搜索与“evdev”匹配的已安装软件包。

相关内容