#!/bin/bash array=( binutils-2.23.52.0.1.el7.x86_64 compat-libcap1-1.10-1.x86_64 compat-libstdc++-33-3.2.3-69.el7.x86_64 compat-libstdc++-33-3.2.3-69.el7.i686 gcc-4.8.2-0.el7.x86_64 gcc-c++-4.8.2-0.el7.x86_64 glibc-2.17-0.0.el7.i686 glibc-2.17-0.0.el7.x86_64 glibc-devel-2.17-0.0.el7.x86_64 ksh.x86_64 libgcc-4.8.2-00.el7.i686 libgcc-4.8.2-00.el7.x86_64 libstdc++-4.8.2-00.el7.x86_64 libstdc++-4.8.2-00.el7.i686 libstdc++-devel-4.8.2-00.el7.x86_64 libaio-0.3.109-00.el7.x86_64 libaio-devel-0.3.109-00.el7.x86_64 make-3.82-00.el7.x86_64 sysstat-10.1.5-00.el7.x86_64 ) len=${#array[*]} i=0 line='-------------------------------------------------------------------' while [[ $i -lt $len ]]; do req_pkg="^${array[$i]%%.*}" req_arch="${array[$i]##*.}" req_arch="${req_arch/6/.}"; req_arch="${req_arch/3/.}$" curr_rpm=`rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep ${req_pkg} | grep ${req_arch}`; if [ $(expr "${curr_rpm%%.*}" \>= "${req_pkg}") -eq 1 ]; then result1=pass; else result1=failed; fi printf "%s %s [$result1]\n" ${array[$i]} ${line:${#array[$i]}} echo $curr_rpm; let i++; done