Why result is wrong here ? whether break statement is wrong ?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Why result is wrong here ? whether break statement is wrong ?
# 1  
Why result is wrong here ? whether break statement is wrong ?

Hi ! all I am just trying to check range in my datafile

pls tell me why its resulting wrong

Code:
admin@IEEE:~/Desktop$ cat test.txt
0    28.4
5    28.4
10    28.4
15    28.5
20    28.5
25    28.6
30    28.6
35    28.7
40    28.7
45    28.7
50    28.8
55    28.8
60    28.8
65    28.1
70    26.5

This I tried

Code:
admin@IEEE:~/Desktop$ cat awk.sh
awk 'FNR==1{i++}{LC[i]=NR} 
{for(k=1; k<=NF; k++)A[i,FNR,k]=$k}     #ARRAY                           
END{
j=1;
while(j<=LC[1])                # IF J<=Line Count do following
{
x=A[1,j,2]-A[1,1,2]
if(x>=0.1)break
print x,j,A[1,j,2],A[1,j,1]
j++
}}' OFS="\t" test.txt

Resulting

Code:
admin@IEEE:~/Desktop$ sh awk.sh 
0    1    28.4    0
0    2    28.4    5
0    3    28.4    10

Here I actually require line No 4 record.

Last edited by Akshay Hegde; 03-10-2013 at 01:23 PM.. Reason: to comment
# 2  
I do not understand what range you like.
Print output example (how you like the result to be)
Also add what the criteria you have to get this output.
# 3  
28.4 - 28.5 < 0.10 If you want to print the 28.5 record also, move test to after print:

Code:
awk 'FNR==1{i++}{LC[i]=NR} 
{for(k=1; k<=NF; k++)A[i,FNR,k]=$k}     #ARRAY                           
END{
    j=1;
    while(j<=LC[1])                # IF J<=Line Count do following
    {
       x=A[1,j,2]-A[1,1,2]
       print x,j,A[1,j,2],A[1,j,1]
       if(x>=0.1)break
       j++
}}' OFS="\t" test.txt

This also produces the same output:
Code:
awk '!s{s=$2}
{print $2-s,j++,$2,$1}
$2>s{exit}' OFS="\t" test.txt


Last edited by Chubler_XL; 03-11-2013 at 01:41 AM.. Reason: Added equilivent simple code
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #563
Difficulty: Medium
The comparison operators are only used for comparing numerical data types.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Whats wrong with this If statement?

Hi I am pretty new to bash scripting.I am trying to write the if statement in bash and it give me error. Can you please help me what I am doing wrong in If statement? if && && then fector=$kk; divide=$DB_SIZE/$kk; echo "factor value:$fector" echo"divide value:$divide"... (4 Replies)
Discussion started by: Gevni
4 Replies

2. UNIX for Beginners Questions & Answers

Whats wrong with this If statement?

Hi I am pretty new to bash scripting.I am trying to write the if statement in bash and it give me error. Can you please help me what I am doing wrong in If statement? if && && then fector=$kk; divide=$DB_SIZE/$kk; echo "factor value:$fector" echo"divide value:$divide"... (1 Reply)
Discussion started by: Gevni
1 Replies

3. Programming

Whats wrong with this If statement?

Hi I am pretty new to bash scripting.I am trying to write the if statement in bash and it give me error. Can you please help me what I am doing wrong in If statement? Code: if && && then fector=$kk; divide=$DB_SIZE/$kk; echo "factor value:$fector" echo"divide... (1 Reply)
Discussion started by: Gevni
1 Replies

4. Shell Programming and Scripting

Output result with break line

Hello, I am coding a script to check mysql databases using bash script, I would like to check if the status of a table is not 'OK', will return the table name and do some more actions: check.log table1 OK table2 Some error here table3 ... (5 Replies)
Discussion started by: Abu Rayane
5 Replies

5. Shell Programming and Scripting

Wrong result return from script

Hi Gurus, I need a script to compare two files: sample file like below: list: cde,file4 cde,file5 def,file6 def,file7 def,file8 abc,file1 abc,file2 abc,file3 acd,file9 acd,file10 tmp file1 file2 file3 file4 (12 Replies)
Discussion started by: ken6503
12 Replies

6. Shell Programming and Scripting

What is wrong with this awk statement?

echo $line | awk -F, "BEGIN {if(NF==10) && /'"${MONTH}"' '"${DAY}"' '"${TIMEH}:"'/,0 {print $10"-"$4} else {print $13"-"$4}}" if the fields in the line is equal to 10, print the values of this specified fields "$10 and $4". if the fields in the line is anything but 10, print the values of... (5 Replies)
Discussion started by: SkySmart
5 Replies

7. Shell Programming and Scripting

What's wrong with the do statement?

hi guys, here's the code $ cat getsums.sh #!/usr/bin/sh FILENAME=$1 DELIMITER=$2 FIRST_COL=$3 SECOND_COL=$4 SALESDATE_COL=$5 STOREID=$6 UPC=$7 GTIN=$8 PROMOID=$9 echo "" echo ".:Summation Tool:." for FILE in ${FILENAME} do (7 Replies)
Discussion started by: ramneim
7 Replies

8. Shell Programming and Scripting

Something is wrong with this switch( case statement.

I started writing a script to save the files from a camera I got the other day, which mounts in /Volumes , and I got into it and started building this menu. The only problem is that the switch case is coming up as a syntax error at the parenthesis after a case. Here is the code: while : do ... (2 Replies)
Discussion started by: snakemasterAK
2 Replies

9. Shell Programming and Scripting

whats wrong with this find statement ?

cmd="find /a/technologies -name '*.jar' | grep \"Tuning/specificloader/lib\"" echo $cmd for index in `$cmd` do SL_JARS="${SL_JARS}:${index}" done gives error ==> find: paths must precede expression Usage: find but for index in... (2 Replies)
Discussion started by: crackthehit007
2 Replies

10. Shell Programming and Scripting

What's wrong with this simple statement?

I know that this is a ridiculously simple statement, but I am getting an error when I execute it, and I can't figure out what it is. Can anyone point me in the right direction? #!/bin/ksh integer dateMonth=0 integer intZero=0 if then dateMonth = 1 fi echo $dateMonth (7 Replies)
Discussion started by: mharley
7 Replies

Featured Tech Videos