grep正则表达式与随机中间字符匹配

时间:2013-03-21 13:00:02

标签: regex grep fedora

我正在尝试查找Fedora 64bit下是否安装了某个32位软件包。问题是默认情况下安装了64位的所有软件包。

例如,如果我在安装32位软件包后执行rpm -qa | grep libXrandr,我会得到两个输出:

libXrandr-1.2.99.4-3.fc11.i586

libXrandr-1.2.99.4-3.fc11.x86_64

我需要修改grep,因此它将返回以libXrandr开头并以.i586结尾的字符串,以便只返回libXrandr-1.2.99.4-3.fc11.i586作为搜索的输出。

我尝试使用正则表达式来解决这个问题,但由于某种原因,我似乎无法找到有效的模式。

我使用的一些选项是rpm -qa | grep libXrandr[0-9A-Za-z]\.i586rpm -qa | grep libXrandr[0-9A-Za-z]*\.i586

1 个答案:

答案 0 :(得分:1)

经过一番思考后发现它,

rpm -qa | grep ^libXrandr.*\.i586$

这将搜索以libXrandr开头并以.i586结尾的字符串,其中包含多个字符。