conditional statement in awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting conditional statement in awk
# 1  
Old 07-26-2012
conditional statement in awk

Hi all,

I have a file containing the values that would be use as the basis for printing the lines of another set of files using awk. What I want to do is something like the one below:
Code:
stdev.txt
0.21
0.42
0.32
0.25
0.15

file1.txt  file2.txt  file3.txt ..filen.txt
0.45       0.23       0.35
0.23       0.50       0.25
0.60       0.36       0.36 
0.30       0.75       0.20
0.15       0.23       0.51 

This is what i should do but I cant figure it out how to automate this commands.
 
awk '$0+0<0.21 {$0="NaN"}1' file1.txt > file1_anom.txt
awk '$0+0<0.42 {$0="NaN"}1' file2.txt > file2_anom.txt
awk '$0+0<0.32 {$0="NaN"}1' file3.txt > file3_anom.txt
awk '$0+0<0.25 {$0="NaN"}1' file4.txt > file4_anom.txt

The value in the conditional statement "$0+0<" should correspond to the value at specific line contained in the stdev.txt.

Any help on this one is highly appreciated. Thanks much.
# 2  
Old 07-26-2012
not tested....
Code:
nawk 'FNR==NR{stdev[FNR]=$0;next} FNR==1{f=FILENAME "_anom"}{print ($0<stdev[FNR])?"NAN":$0>>f' stdev.txt file1 file2 file3 fileN

# 3  
Old 07-26-2012
Thank you very much for your reply. I tried to run the code and its giving me this error message.
Code:
nawk: cmd. line:1: FNR==NR{stdev[FNR]=$0;next} FNR==1{f=FILENAME "_anom"}{print ($0<stdev[FNR])?"NAN":$0>>f
nawk: cmd. line:1:                                                                                         ^ unexpected newline or end of string

Thanks for your help
# 4  
Old 07-27-2012
missing }
Code:
 
nawk 'FNR==NR{stdev[FNR]=$0;next} FNR==1{f=FILENAME "_anom"}{print ($0<stdev[FNR])?"NAN":$0>>f}' stdev.txt file1 file2 file3 fileN

# 5  
Old 07-27-2012
thanks much,Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Getting error at conditional statement.

Hi experts, I am doing an exercise which has the following requirements. Charlie will bite your finger exactly 50% of the time. First, write a function isBitten() that returns TRUE with 50% probability, and FALSE otherwise To generate a webpage that displays "Charlie bit your finger!" or... (1 Reply)
Discussion started by: Navneet_das_123
1 Replies

2. UNIX for Advanced & Expert Users

conditional statement

I need to implement something like this. 1) search for a file(say *.doc) from a path (say /home/user/temp) 2) if file found & if file size > 0 : yes --> file valid else : print file not valid. I am trying to implement something like this, but seems i am terribly wrong somewhere.. ... (1 Reply)
Discussion started by: animesharma
1 Replies

3. Shell Programming and Scripting

Conditional Shell Statement

I want to add a conditional statement to a user's .profile file. I have a certain number of users that log in and use the rksh (Restricted Korn Shell). When they log in, it starts a certain program and when they exit this program, the system logs them out. When they are in this program, they can... (2 Replies)
Discussion started by: rjulich
2 Replies

4. Shell Programming and Scripting

awk conditional statement issue

I have a file like this i want to filter out records whose date is greater than '2010-11-20'. I have written this code like this... cat /etl/ruby/purge/output/PurgeCLC15.DSINT.sort_inptnt_otptnt_prequalify.ruby.dat | awk '{ substr($0,12,10) == '2010-11-20' print substr($0,12,10) }' ... (3 Replies)
Discussion started by: issaq84mohd
3 Replies

5. UNIX for Dummies Questions & Answers

Conditional statement in bash

I want to combine 2 conditional statements by using -o in bash, but it won't work. if ; then echo "The number needs to be between 0 and $nr" fi Each time i execute the file it says: ./selectCitaat: line 10: syntax error near unexpected token `$1' (3 Replies)
Discussion started by: doc.arne
3 Replies

6. Shell Programming and Scripting

if conditional statement

Hi, I have a script like this: sample.sh mapping=$1 if then echo "program passed" fi I'm running the above script as ./sample.sh pass The script is not getting executed and says "integer expression expected" Could anyone kindly help me? (2 Replies)
Discussion started by: badrimohanty
2 Replies

7. Shell Programming and Scripting

conditional statement

Hi all, The following code is to find if a list of numbers from one file are within the range in another file. awk -F, '\ BEGIN { while ((getline < "file2") > 0) file2=$3 } {for (col1 in file2) if ($0>=30 && $1<=45) print $0} ' FILE1 But where I have the number 30 and 45, I... (3 Replies)
Discussion started by: dr_sabz
3 Replies

8. Shell Programming and Scripting

conditional statement

Hi Does Unix have a conditional statement like Java as follows: Condition ? Statement1 : Statement2 Thanks (8 Replies)
Discussion started by: lalelle
8 Replies

9. Shell Programming and Scripting

quoting in conditional statement

can somebody help, what quote i should use in below statement or what wrong of it ? the 1st (*) is a char, the 2nd and 3rd (*) is a wildcard if ] && ] && ] ................^ .............^ then echo "ok" fi thanks in advance. (2 Replies)
Discussion started by: 3Gmobile
2 Replies

10. Shell Programming and Scripting

awk conditional statement

how can i use awk or sed to do a conditional statement, so that HH:MM if MM not great than 30 , then MM=00 else MM=30 ie: 10:34 will display 10:30 10:29 will display 10:00 a=$(echo 10:34 | awk ......) Thanks in advance (10 Replies)
Discussion started by: 3Gmobile
10 Replies
Login or Register to Ask a Question