![通过使用正则表达式 grep rpm -qi [package-name] 的输出来提取软件包版本](https://linux22.com/image/193879/%E9%80%9A%E8%BF%87%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20grep%20rpm%20-qi%20%5Bpackage-name%5D%20%E7%9A%84%E8%BE%93%E5%87%BA%E6%9D%A5%E6%8F%90%E5%8F%96%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%89%88%E6%9C%AC.png)
答案1
您还没有引用正则表达式,因此您的 shell 处理了两个反斜杠。结果grep
看到这个正则表达式:[[:digit:]]+.[[:digit:]]+.[[:digit:]]+$
确实匹配。引用一下表达式:
rpm -qi rpm-build | grep -E '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$'
如果您确实只想要来自 的版本信息rpm -q
,请直接使用 请求--queryformat
,并跳过 grep:
version=$(rpm -q --queryformat '%{VERSION}' rpm-build)