Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 带有随机中间字符的grep正则表达式匹配_Regex_Grep_Fedora - Fatal编程技术网

Regex 带有随机中间字符的grep正则表达式匹配

Regex 带有随机中间字符的grep正则表达式匹配,regex,grep,fedora,Regex,Grep,Fedora,我试图找出某个32位软件包是否安装在Fedora 64位下。问题是,默认情况下安装了上述软件包的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将作为搜索的

我试图找出某个32位软件包是否安装在Fedora 64位下。问题是,默认情况下安装了上述软件包的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]\.i586
rpm-qa | grep libXrandr[0-9A-Za-z]*\.i586

经过一点思考后发现了它

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


这将搜索以libXrandr开头,以.i586结尾的字符串,中间有多少个字符。

经过一番思考后找到了它

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

这将搜索以libXrandr开头、以.i586结尾的字符串,中间有多少个字符