![]() |
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| while loop inside while loop | panknil | Shell Programming and Scripting | 0 | 01-07-2008 12:49 PM |
| For loop | xramm | HP-UX | 3 | 10-10-2007 03:20 PM |
| While Loop | hemangjani | Shell Programming and Scripting | 2 | 11-02-2006 11:01 AM |
| for loop | munnabhai1 | Shell Programming and Scripting | 3 | 04-06-2006 03:30 PM |
| how to get the similar function in while loop or for loop | trynew | Shell Programming and Scripting | 3 | 06-17-2002 12:09 PM |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
While-loop with awk
How to make a while-loop with awk.
Lets say I have a variable number of columns: 1 4 3 2 4 4 3 5 3 Now I want to add all elements of column 1, 2 and 3 and then divide them by the number of elements in each. columns= the number of columns which is given as an argument to my script i = the column we are adding for the moment this is some pseudo code for what I want to be done: while [columns > 0] do awk '{sum+=$i} END {print sum/NR "\t"}' i++ column-- done So when executed the finished result will be: 2 6.5 3.333333 But I don't get my while loop to function. Please help me. This is my code: ############################# while [ "$columns" -gt 0 ] do awk_cmd=`awk -v i=$1 '{sum+=$i} END {print sum/NR}'` echo "$data | $awk_cmd" i=`expr $i + 1` columns=`expr $columns - 1` done ############################# |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|