#! /bin/ksh # bubble_sort.ksh # Example of a shell script to (bubble) sort some numbers # RJM Programming # November, 2014 # ASIZE=1000 IMIN=0 IMAX=250 SMODE=1 ## save command line args in variables jsize=$ASIZE jmin=$IMIN jmax=$IMAX imode=$SMODE if [[ $# -gt 0 ]]; then if [[ $# -ge 1 ]]; then jsize=$1 fi if [[ $# -ge 2 ]]; then jmin=$2 fi if [[ $# -ge 3 ]]; then jmax=$3 fi if [[ $# -ge 4 ]]; then imode=$4 fi fi ## generate random numbers if [ -f "./mybs.xxx" ]; then echo "y" > ./mybs.xxx #if ($status != 0) goto error huhzero=`rm -f ./mybs.xxx < ./mybs.xxx` #if ($status != 0) goto error fi cnt=0 sarrayn=`date '+%S'` while [[ $cnt -lt $jsize ]]; do sarrayn=`echo "${jmin}:${jmax}:${jsize}" | awk -F: -v seed=$sarrayn 'BEGIN{srand(seed);} { print ((rand() * 10000.0) % ($2 + 1 - $1)) + (((rand() * 10000.0) % ($3 + 1)) * 0.0001) + $1; }'` echo $sarrayn >> ./mybs.xxx cnt=`expr $cnt + 1` sarrayn=`echo $sarrayn | tr -d '.'` done if [[ $imode -eq 0 ]]; then huhone=`cat ./mybs.xxx | sort -n | awk '{print "Ascending Number ",NR," ",$1;}' > ./mybs.srt` else huhone=`cat ./mybs.xxx | sort -nr | awk '{print "Descending Number ",NR," ",$1;}' > ./mybs.srt` fi #if ($status != 0) goto error cat ./mybs.srt if [ -f "./mybs.xxx" ]; then echo "y" > ./mybs.xxx #if ($status != 0) goto error huhzero=`rm -f ./mybs.xxx < ./mybs.xxx` #if ($status != 0) goto error fi if [ -f "./mybs.srt" ]; then echo "y" > ./mybs.srt #if ($status != 0) goto error huhzero=`rm -f ./mybs.srt < ./mybs.srt` #if ($status != 0) goto error fi #if ($status != 0) goto error exit 0 #:done #:error # exit 1