[SOLVED] Awk one line to sum up a function


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [SOLVED] Awk one line to sum up a function
# 1  
Old 08-02-2011
[SOLVED] Awk one line to sum up a function

I need help with debugging an error in my awk script.

I have a shell script with variable named U_new_i and want to pass it to awk for use in a summation. The original file have the following content.

Code:
cat test.txt
-2445.7132000000 
-2444.9349000000 
-2444.3295000000 
-2443.1814000000 
-2442.6894000000 
-2445.0234000000 
-2444.7423000000 
-2443.4350000000 
-2444.6649000000

U_new_i = -2443.1814000000 which is the 4th record in test.txt
So I obtained
Code:
U_new_i=`head -4 test.txt | tail -1 | awk '{print $1}'`

I now want to sum up a function using U_new_i as a reference point as follow

Code:
beta=7.9103744257373072296954995748236 

W_new=`tail -8 test.txt | awk -v U_new_i="$U_new_i" '{ W_new += exp(-$beta*(U_new_i - $1))} END { print  W_new }'`

echo W_new = $W_new

I keep getting an error shown below, which is an indication of awk having problem with passing U-new_i correctly. Any help would be appreciated.

Code:
awk: (FILENAME=- FNR=5) warning: exp: argument -3882.6 is out of range
awk: (FILENAME=- FNR=6) warning: exp: argument -1358.53 is out of range
awk: (FILENAME=- FNR=8) warning: exp: argument 2321.12 is out of range
W_new = inf

---------- Post updated at 11:53 AM ---------- Previous update was at 09:45 AM ----------

I found the bug; beta="$beta" needed to be pass to awk as well. Just a total neglect on my part.

Thanks.

---------- Post updated at 11:55 AM ---------- Previous update was at 11:53 AM ----------

I found the bug, beta also needed to be pass as a variable to awk. Just a total negligence on my part.

Last edited by radoulov; 08-02-2011 at 03:01 PM.. Reason: Code tags.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sum function

I have file input China,Gaolian,9135774346294,AirAsia,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165 India,Gangga,9135770291502,AirAsia,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3325 India,Nahdit,9135766545904,AirAsia,0,0,0,0,0,0,0,0,0,0,0,0,0,0,440 India,Kathman,9135768476591,AirAsia,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0... (5 Replies)
Discussion started by: radius
5 Replies

2. UNIX for Dummies Questions & Answers

[Solved] Sum operation

I have file input w34 AG1 2 184 w35 AG1 6 552 w35 BG1 12 0 w35 CD1 7 0 w36 CG1 4 0 my output should be w34 AG1 2 184 0.991 w35 AG1 6 552 0.991 w35 BG1 12 0 1.000 w35 CD1 7 0... (3 Replies)
Discussion started by: radius
3 Replies

3. Shell Programming and Scripting

[Solved] sum up third and second columns by 0 difference

Hi Friends, I have the following file chr1 1 2 chr1 2 3 chr1 3 4 chr1 4 5 chr1 5 6 chr1 19 20 chr1 20 21 chr1 21 22 I want to compare the third column of record 1 to second column of next record and if the difference is zero, consider its third column and match it to next record... (4 Replies)
Discussion started by: jacobs.smith
4 Replies

4. UNIX for Dummies Questions & Answers

AWK: add and sum line in output

Hi, I have this output: extended device statistics device r/s w/s kr/s kw/s wait actv svc_t %w %b sd1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 sd2 0.1 2.9 2.6 24.8 0.0 0.1 21.0 0 1 sd3 0.1 2.9 2.7 24.8 0.0 ... (9 Replies)
Discussion started by: mjnman
9 Replies

5. UNIX for Dummies Questions & Answers

[Solved] Remove Duplicates and Sum in a spreadsheet

Hi all, I have a problem hoping someone can help me. I have this spreadsheet : PC.333 PC.444 PC.555 PC.666 PC.777 0 0 ... (2 Replies)
Discussion started by: Giorgio C
2 Replies

6. Programming

[solved]help passing array of structs to function in c

this is my code to try and prinnt out a deck of cards. the print function worked when used inside main without being a function but now i cant get it to work as a function probably since i dont know how to pass a struct array in c. I gave it a shot but i keep getting an assortment of errors. The... (0 Replies)
Discussion started by: bjhum33
0 Replies

7. Shell Programming and Scripting

Perl int function solved

Hello, I have the below perl function int to return the integer value from the expression but it is not. I am not sure if something misses out here. Any help on this? Thanks in advance. # Code sample Start my $size = int (`1134 sample_text_here`); print "$size \n"; # Code end ----------... (0 Replies)
Discussion started by: nmattam
0 Replies

8. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

9. Shell Programming and Scripting

scripting/awk help : awk sum output is not comming in regular format. Pls advise.

Hi Experts, I am adding a column of numbers with awk , however not getting correct output: # awk '{sum+=$1} END {print sum}' datafile 2.15291e+06 How can I getthe output like : 2152910 Thank you.. # awk '{sum+=$1} END {print sum}' datafile 2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies

10. Shell Programming and Scripting

Function SUM SIZE

Dear Friends, I wrote a script that get the size of specific files in a specific space directory. To get the total size I wrote a function in that script. So far I am not convinced that function is working correctly. Do you mind tell if there is anything wrong. I am on SOLARIS (KSH)... (4 Replies)
Discussion started by: Aswex
4 Replies
Login or Register to Ask a Question