You don’t need to do any of this; RPM has a query format argument which will let you specify exactly the data you want to receive. It will even output without line endings if you don’t specify them.
For instance:
rpm --queryformat "%{NAME} %{VERSION} %{RELEASE} %{ARCH}" -q coreutils
rpm --queryformat "The version of %{NAME} is %{VERSION}\n" -q coreutils
rpm --queryformat "%{NAME} %{VERSION} %{RELEASE} %{ARCH}" -qp file.rpm
The complete list of variables you can use can be obtained with:
rpm --querytags
Note that in the case of RELEASE
, output like 84.el6
is normal and expected, since this is actually how RPM packages are versioned when packaged by or for a distribution.