mds has asked for the wisdom of the Perl Monks concerning the following question:
I need a solution that simulates the rpm -q command as follows:
The linux rpm command returns only the first occurance of what you are looking for.
example:
if you have cups installed
rpm -q cups returns cups-1.5.2-9.fc16.x86_64
and not cups-libs-1.5.2-9.fc16.x86_64
even though cups-libs-1.5.2-9.fc16.x86_64 is installed.
I loaded an array with the output of rpm -qa
I need to do a search on that array (data strucuture is not important to me, it can be anything) using cups as the search string and have it only return cups-1.5.2-9.fc16.x86_64
and not anything else with cups in the string anywhere in the array.
This will effectivly simulate the "rpm -q string" command.
It also must return an empty set indication if only cups-libs-1.5.2-9.fc16.x86_64 exist
but cups-1.5.2-9.fc16.x86_64 does not.
And of course this will work with any string matched against the array. Not just cups.
It's ok if the grep or match or search returns a duplicate.
that is if cups-1.5.2-9.fc16.x86_64 is in the rpm data array twice its ok if it returns it into output of another array.
I have been trying grep and regular expresions, but my regex is not up to solving this particular problem.
Thanks, in advance.
The linux rpm command returns only the first occurance of what you are looking for.
example:
if you have cups installed
rpm -q cups returns cups-1.5.2-9.fc16.x86_64
and not cups-libs-1.5.2-9.fc16.x86_64
even though cups-libs-1.5.2-9.fc16.x86_64 is installed.
I loaded an array with the output of rpm -qa
I need to do a search on that array (data strucuture is not important to me, it can be anything) using cups as the search string and have it only return cups-1.5.2-9.fc16.x86_64
and not anything else with cups in the string anywhere in the array.
This will effectivly simulate the "rpm -q string" command.
It also must return an empty set indication if only cups-libs-1.5.2-9.fc16.x86_64 exist
but cups-1.5.2-9.fc16.x86_64 does not.
And of course this will work with any string matched against the array. Not just cups.
It's ok if the grep or match or search returns a duplicate.
that is if cups-1.5.2-9.fc16.x86_64 is in the rpm data array twice its ok if it returns it into output of another array.
I have been trying grep and regular expresions, but my regex is not up to solving this particular problem.
Thanks, in advance.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Need to return the first occurance of a search
by kennethk (Abbot) on Apr 18, 2013 at 15:19 UTC | |
Re: Need to return the first occurance of a search
by pvaldes (Chaplain) on Apr 18, 2013 at 15:19 UTC | |
Re: Need to return the first occurance of a search
by hdb (Monsignor) on Apr 18, 2013 at 15:11 UTC | |
Re: Need to return the first occurance of a search
by RichardK (Parson) on Apr 18, 2013 at 17:16 UTC | |
by mds (Novice) on Apr 18, 2013 at 18:13 UTC |
Back to
Seekers of Perl Wisdom