Sponsored Content
Top Forums Shell Programming and Scripting While loop - The sum seems to be local Post 302178596 by eagercyber on Wednesday 26th of March 2008 02:02:35 AM
Old 03-26-2008
While loop - The sum seems to be local

Hi,

I am trying to extracting the sum of all varibles listed in a file.

The code is as follows


##### FILE1 ########

Value1:2
Value2:2
Value3:6
Value4:5

##### shell script ######


#!/bin/sh

total=0

cat FILE1 | \
while read line
do
count=`echo $line | awk -F":" '{print $NF}'`
total=`expr $total + $count`
echo $total
done
echo $total

I get the o/p as

2
4
10
15
0 => wrong o/p for total

Inside the loop the variable is getting updated. But once out, the variable 'total' is back to 0.

Any way for solving this?
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

'while' loop does not change local variables?!

(I think this question desearves separate thread..) I have a problem with 'while' I am trying to set variables by 'while' and it is fine inside, but after completting the loop all changes are lost: > bb="kkkk - 111\nlllll - 22222\nbbbb - 4444" > echo "$bb" kkkk - 111 lllll - 22222 bbbb -... (3 Replies)
Discussion started by: alex_5161
3 Replies

2. Shell Programming and Scripting

unable to access a variable not local to a while loop

I have a while loop like this cat ${filename} | while read fileline do ... done I need to access a variable value $newfile inside this while loop How will i do that?? (6 Replies)
Discussion started by: codeman007
6 Replies

3. Shell Programming and Scripting

Print sum and relative value of the sum

Hi i data looks like this: student 1 Subject1 45 55 Subject2 44 55 Subject3 33 44 // student 2 Subject1 45 55 Subject2 44 55 Subject3 33 44 i would like to sum $2, $3 (marks) and divide each entry in $2 and $3 with their respective sums and print for each student as $4 and... (2 Replies)
Discussion started by: saint2006
2 Replies

4. Shell Programming and Scripting

loop + sum + print using awk

Hi, I am unable sum of each column in the loop usng awk command. Awk is not allowing the parameters in the command. i am facing the below error. awk: 0602-562 Field $() is not correct. Source file abc.txt 100,200,300,400,500,600,700,800,900 101,201,301,401,501,601,701,801,901 ... (1 Reply)
Discussion started by: number10
1 Replies

5. Shell Programming and Scripting

Loop through file to sum conditionally

Hi, I have a file with header, detail and trailer records. HDR|111 DTL|abc|100|xyz DTL|abc|50|xyz TRL|150 I need to add the values in 3rd field from DTL records. Using awk, I am doing it as follows: awk -F'|' '$1=="DTL"{a += $3} END {print a}' <source_file> However, I want to... (3 Replies)
Discussion started by: delta21
3 Replies

6. Shell Programming and Scripting

For Loop & SUM

pcmpath query device |awk 'BEGIN{print "DEVICE NAME\tSERIAL"} /DEVICE NAME/ {printf "%s\t", $5; getline; print substr($2, length($2)-3)}' This script returns output like below to pull out "DEVICE NAME SERIAL". ...... hdisk28 110B hdisk29 1112 hdisk30 1115 hdisk31 1116 hdisk32 1128... (2 Replies)
Discussion started by: Daniel Gate
2 Replies

7. Shell Programming and Scripting

Sum up numbers in a for loop

Hi i have to calculate some numbers, column by column. Herfore i used a for-loop.. for i in {4..26};do awk -F"," '{x'$i'+=$'$i'}END{print '$i'"\t" x'$i'}' file.tmp;done ----- printout ----- 4 660905240 5 71205272 6 8.26169e+07 7 8.85961e+07 8 8.60936e+07 9 7.42238e+07 10 5.6051e+07... (7 Replies)
Discussion started by: IMPe
7 Replies

8. Post Here to Contact Site Administrators and Moderators

awk to sum in Loop

i want code in awk with loop to get the sum * is delimiter in file TOTAL_AMOUNT=SUM(CLP04) suppose there are 12 CLP04 segment in my file i want to add upto 5 CLP04 then print next line after BPR segment after calculate the total amount CLP04 means ex ... (5 Replies)
Discussion started by: MOHANP12
5 Replies

9. Shell Programming and Scripting

Need help the sum from loop

Hi all, I have one host i need to run in loop to check the capacity from different frame and get the output to one file and sum it and convert to TB this is Code #!/bin/ksh DATE=`date '+%d%m%y'` for f in `cat /home/esx-capacity/esx-host.txt` do for g in `cat /home/esx-capacity/frame`... (10 Replies)
Discussion started by: ranjancom2000
10 Replies
auditstat(1M)						  System Administration Commands					     auditstat(1M)

NAME
auditstat - display kernel audit statistics SYNOPSIS
auditstat [-c count] [-h numlines] [-i interval] [-n] [-v] DESCRIPTION
auditstat displays kernel audit statistics. The fields displayed are as follows: aud The total number of audit records processed by the audit(2) system call. ctl This field is obsolete. drop The total number of audit records that have been dropped. Records are dropped according to the kernel audit policy. See auditon(2), AUDIT_CNT policy for details. enq The total number of audit records put on the kernel audit queue. gen The total number of audit records that have been constructed (not the number written). kern The total number of audit records produced by user processes (as a result of system calls). mem The total number of Kbytes of memory currently in use by the kernel audit module. nona The total number of non-attributable audit records that have been constructed. These are audit records that are not attributable to any particular user. rblk The total number of times that the audit queue has blocked waiting to process audit data. tot The total number of Kbytes of audit data written to the audit trail. wblk The total number of times that user processes blocked on the audit queue at the high water mark. wrtn The total number of audit records written. The difference between enq and wrtn is the number of outstanding audit records on the audit queue that have not been written. OPTIONS
-c count Display the statistics a total of count times. If count is equal to zero, statistics are displayed indefinitely. A time interval must be specified. -h numlines Display a header for every numlines of statistics printed. The default is to display the header every 20 lines. If numlines is equal to zero, the header is never displayed. -i interval Display the statistics every interval where interval is the number of seconds to sleep between each collection. -n Display the number of kernel audit events currently configured. -v Display the version number of the kernel audit module software. EXIT STATUS
auditstat returns 0 upon success and 1 upon failure. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
auditconfig(1M), praudit(1M), bsmconv(1M), audit(2), auditon(2), attributes(5) NOTES
The functionality described in this man page is available only if the Basic Security Module (BSM) has been enabled. See bsmconv(1M) for more information. SunOS 5.11 11 Feb 2008 auditstat(1M)
All times are GMT -4. The time now is 11:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy