我试图systemd
在以下命令中获取已安装的版本,但它返回包含关键字“ systemd
”的所有行。
# dpkg -l | grep " systemd "
ii gnome-logs 42.0-1 amd64 viewer for the systemd journal
ii libsystemd0:amd64 249.11-0ubuntu3.12 amd64 systemd utility library
ii systemd 249.11-0ubuntu3.12 amd64 system and service manager
ii systemd-container 249.11-0ubuntu3.12 amd64 systemd container/nspawn tools
如何让它只返回以下行:
# dpkg -l | grep "__the_rule_for_systemd_"
ii systemd 249.11-0ubuntu3.12 amd64 system and service manager
然后,我可以使用 awk 来获取版本:
# dpkg -l | grep "__the_rule_for_systemd_" | awk '{print $3}'
这是预期的输出:
249.11-0ubuntu3.12
__the_rule_for_systemd_
“ ”怎么写grep
或者有没有其他命令可以获取已安装的版本systemd
?
笔记:
# package_name="systemd"
# dpkg -l | grep " $package_name "
“ __the_rule_for_systemd_
”也应该适用于其他包,它应该能够通过该规则获取任何包,而不仅仅是“ systemd
”。
这应该可以做到:
如果您只想返回版本号(对于脚本),请使用以下命令搜索并剪切字符串
awk
: