Sort numbers using arrays in Shell Script

By: Vivek G Emailed: 1731 times Printed: 2344 times

 By: rohit kumar - how this program is work By: Kirti - Hi..thx for the hadoop in By: Spijker - I have altered the code a By: ali mohammed - why we use the java in ne By: ali mohammed - why we use the java in ne By: mizhelle - when I exported the data By: raul - no output as well, i'm ge By: Rajesh - thanx very much... By: Suindu De - Suppose we are executing

This shell script demonstrates the use of arrays with a script that sorts 5 numbers and prints the sorted numbers. ``` # # Declare the array of 5 subscripts to hold 5 numbers # declare nos[5]=(4 -1 2 66 10) # # Prints the number befor sorting # echo "Original Numbers in array:" for (( i = 0; i <= 4; i++ )) do echo \${nos[\$i]} done # # Now do the Sorting of numbers # for (( i = 0; i <= 4 ; i++ )) do for (( j = \$i; j <= 4; j++ )) do if [ \${nos[\$i]} -gt \${nos[\$j]} ]; then t=\${nos[\$i]} nos[\$i]=\${nos[\$j]} nos[\$j]=\$t fi done done # # Print the sorted number # echo -e "\nSorted Numbers in Ascending Order:" for (( i=0; i <= 4; i++ )) do echo \${nos[\$i]} done ```

 1 View Comment```how to declare Array ?? in LINUX i m try this same code 4 run but that's not work and how to get input form user in Array for shell script in LINUX``` View Tutorial          By: Chand at 2012-03-18 06:47:09 2 View Comment`its very nice` View Tutorial          By: keerthi at 2012-06-28 17:04:36 3 View Comment```hii i have two varirables var=4 5 6......n var1=3 4 5.....n i want output like this 4-3=2 5-4=1 6-5=1 etc please give me solution early this is my project requirement``` View Tutorial          By: niranjan at 2012-07-31 06:47:36 4 View Comment```does not work. output: ./number2: line 4: nos[5]: cannot assign list to array member Original Numbers in array: Sorted Numbers in Ascending Order:``` View Tutorial          By: praveen at 2012-08-30 19:04:20 5 View Comment```This will give the output check it out nos=( 2 4 1 30 23 ) echo "Original Numbers in array:" for ((i = 0; i <= 4 ; i++ )) do echo " \${nos[i]} " done for (( i = 0; i <= 4 ; i++ )) do for (( j = \$i; j <= 4; j++ )) do if [ \${nos[i]} -gt \${nos[j]} ]; then t=\${nos[i]} nos[i]=\${nos[j]} nos[j]=\$t fi done done echo -e "\nSorted Numbers in Ascending Order:" for (( i=0; i <= 4; i++ )) do echo "\${nos[i]}" done``` View Tutorial          By: shruthi at 2013-01-18 06:00:08

Your email(required, will not be shown to the public):

More Tutorials by Vivek G
 Getting System Information in Shell Script Menu based programs in Shell Script Digital Clock in Shell Script Formating text in Shell Script Check if file exists in Shell Script Finding factorial in Shell Script Decimal to hexadecimal converter in Shell Script Calculator tutorial in Shell Script getopts tutorial in Shell Script Find the biggest number in Shell Script Command line arguments to calculate average in Shell Script Command line arguments in Shell Script Sort numbers using arrays in Shell Script Check for leap year in Shell Script Using System Time in Shell Script

More Tutorials in Linux