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
(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
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
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
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
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
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
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
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
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
LEARN ABOUT OPENSOLARIS
auditstat
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)