Howto find the latest version of an RPM package.
Using one argument to specify the RPM package path.
[root@nimsrv]/root/scripts# cat find_latest_rpm.sh
#!/usr/bin/ksh # set -x ################################################## #@(#) Find latest version of RPM packages # on AIX coreutils is required ################################################## # v1.1 02-05-2017 ################################################## dir=`dirname $0` if [ -f $dir/.env ] then . $dir/.env else path_script=$dir export sn=`basename $0 | cut -d. -f1` export logpath=/tmp export logname=$logpath/$sn.log fi rpmpath=$1 SORT_BIN='/opt/freeware/bin/sort' tmppath=$rpmpath/tmp #------------------------------------------------ move_latest_rpm () { # List and move latest packages cd $rpmpath mkdir -p $tmppath mv *.rpm $tmppath for rpm in $(ls $tmppath/*.rpm | rev | cut -d'-' -f3- | rev | sort -u) do latest=$(ls $rpm-[0-9]* | $SORT_BIN --version-sort | tail -1) echo $latest mv $latest $rpmpath done } ############################################# # main ############################################# # Read and check scripts arguments if [ $# -ne 1 ] then echo "One parameter is required, add the path of the RPM directory packages" exit 1 fi if [ ! -x $SORT_BIN ] then echo "Please install first the rpm package : coreutils" exit 1 fi move_latest_rpm | tee $logname 2>&1