KEEP=2 COUNT=0 for i in /backup/oxygen/etc.* do if [ -d $i -a ! -L $i ] then COUNT=$(($COUNT+1)) fi done; TOTAL=$COUNT DELETE=$(($TOTAL-$KEEP)) COUNT=0 for i in /backup/oxygen/etc.* do if [ -d $i -a ! -L $i ] then COUNT=$(($COUNT+1)) if [ $COUNT -le $DELETE ] then echo "rm "$i fi if [ $COUNT -eq $TOTAL ] then LATEST=$i fi fi done; echo "latest is "$LATEST