Addition problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Addition problem
# 1  
Old 12-07-2007
Addition problem

Hello Seniors!!! I am trying to add to lines on a file which is delimited by character "|".

input.txt
Quote:
Line Count|0|0|173|1406|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|2 46|0|0|0|46|0|619
Line Count|1|5|0|0|0|0|0|0|0|0|0|33|12|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| 0|0|0|0|0
Desired Output file should give simple addition.
output.txt
Quote:
Line Count|1|5|173|1406|0|0|0|0|0|0|0|33|12|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 |246|0|0|0|46|0|619
Can some one provide me simple awk solution to this. M struggling to solve this using awk & for loop inside awk.

Thanks in advance.
# 2  
Old 12-07-2007
You didn't say how many lines (records) there were, but this should work for any number of lines:


Code:
# echo "1|2|3|4|5
2|2|2|2|2" | awk '
{
  n=split($0,a,"|")
  for (i=1;i<=n;i++) { sum[i]=sum[i]+a[i] }
}END{
  for (i=1;i<n;i++) { printf "%d|",sum[i] }
  print sum[n]
}'

3|4|5|6|7

If you need to skip summing the first field (which you apparently do) then start "i=2" (both places), and then add "printf "%s|",a[1]" before the final "for" loop.

Last edited by gus2000; 12-08-2007 at 07:00 PM..
# 3  
Old 12-10-2007
Bug Thanks.

Thanks this works for me. I have only 2 lines. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Addition of new line

Hi I have a file whose contents are as follows: sorce1 LEN assumption 695 3570 0.770047 - . ID=f000001.1;source_id=A.off_LEN_10008424; sorce1 LEN descriptive 3334 3570 . - 0 Parent=f000001.1; sorce1 LEN ... (8 Replies)
Discussion started by: sa@@
8 Replies

2. UNIX for Dummies Questions & Answers

Limitation in addition

whats wrong with this addition? Whats the maximum number of digits can be handled? pandeeswaran@ubuntu:~/Downloads$ const=201234454654768979799999 pandeeswaran@ubuntu:~/Downloads$ let new+=const pandeeswaran@ubuntu:~/Downloads$ echo $new -2152890657037557890 pandeeswaran@ubuntu:~/Downloads$ (4 Replies)
Discussion started by: pandeesh
4 Replies

3. Shell Programming and Scripting

addition of decimal no

a=10.00 pattern=-11.00 b=`echo "$a $pattern" | awk ' printf("%d\n", $1 + $2)'` echo $b not working, also trined bc ,dc but thats not on my m/c. also expr not supporting. any clue? (6 Replies)
Discussion started by: saluja.deepak
6 Replies

4. Shell Programming and Scripting

Need help on addition in shell

i need shell script to add to numbers #!/usr/bin/sh a=1310601600 ------> epcho time of Thu, 14 Jul 2011 00:00:00 UTC b=864000 -------> 10 days in sec c=`expr $a+$b` echo $c----1311465600> this output i will use this value to delete the data from MySQL db next i need to set... (3 Replies)
Discussion started by: sreedhargouda
3 Replies

5. Shell Programming and Scripting

Addition

Hi all, I am very new to shell programming and trying to learn out the basics. I tried this: $ echo `expr 20 + 30` and it worked. But when i tried this,it does not work. $ a=20 $ b=30 $ echo `expr a + b` The error is: expr: non-numeric argument I cant understand why its... (3 Replies)
Discussion started by: gautamshaw
3 Replies

6. Shell Programming and Scripting

Help with addition

Hi all, I am getting following output by using commands like sort, uniq and awk to the standard output. 110 d 40 a 59 c 9 b 3 e Now at the end I would like to add all the numbers in column 1 and display the count of all numbers i.e. (110 + 40 + 59 + 9 + 3). Also the output may... (3 Replies)
Discussion started by: tenderfoot
3 Replies

7. Shell Programming and Scripting

date addition

i have a script called date_add.sh written in k_shell My shell script requirement is that it accepts a date from the user in the format YYYY-MM-DD and then it shows all the 15 days later day availaible in the current year if date accepted from user is 2008-10-13,then the o/p sholud be... (5 Replies)
Discussion started by: ali560045
5 Replies

8. UNIX for Dummies Questions & Answers

addition in sh shell

I have to create un counter and I am unable to do an additition: #!/bin/sh count=$1 while ] do echo $count $count=$count+$1 done (1 Reply)
Discussion started by: cfg
1 Replies

9. Shell Programming and Scripting

Simple addition, help.

I add up the number of args that are not blank. It works, but the printout is a string that just keep concatenating on +1. So Ex. it goes through input of: bob toto " " tom ...I get 0+1+1+1, when all I want is 3. Any help is appreciated. count=0 for name in $* do if ; then ... (3 Replies)
Discussion started by: Bandit390
3 Replies

10. Shell Programming and Scripting

addition

Hi all, I am new to perl. I need help adding bunch of numbers. I have a file look like this: 1 1 2 1 2 3 1 2 3 4 1 (2 Replies)
Discussion started by: email-lalit
2 Replies
Login or Register to Ask a Question