Find values within range and output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find values within range and output
# 1  
Old 01-12-2016
Find values within range and output

Dear All,
I am stacked and I ask for your help.
Briefly, I have two files, one like this one (file1):

Code:
1 101 5
1 102 6
1 103 2
1 104 9
1 105 10
2 301 89
2 302 4
2 303 13
2 304 34
2 305 1

and the other like this one (file2):

Code:
1 103 
2 303

well, what I am trying to do is obtain a file like this one:

Code:
1 103 5 6 2  
2 303 89 4 13

So, read column 1 and two of file 2 (
Code:
1 103

) then read file 1 find
Code:
1 103

and take the minus 2 value (2 is va variable and should be change) and current value and output them toghether with file 2
Code:
1 103 5 6 2

Really hope is clear
Thank you for any help or suggestion
# 2  
Old 01-12-2016
Far from clear. Assuming you mean that if second fields in file1 are 2 less than $2 in file2 then print, try:

Code:
awk '
FNR == NR       {T[$1]=$2
                 next
                }
NR <= L         {printf "%s%s", $3, L==NR?"\n":" "
                 next
                }
T[$1] - 2 >= $2 {printf "%s %s %s ", $1, T[$1], $3
                 L = NR + 2
                }
' file2 file1
1 103 5 6 2
2 303 89 4 13

This User Gave Thanks to RudiC For This Post:
# 3  
Old 01-12-2016
Thank you RudiC for your reply and sorry for my "far from clear explanation".

It works!

Last edited by giuliangiuseppe; 01-12-2016 at 12:13 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create range of values and count values.

Gents, It is possible to generate a range of values according to column 1 and count the total of rows in the range. example input 15.3 15.5 15.8 15.9 16.0 16.1 16.8 17.0 17.5 18.0 output desired 15.0 - 15.9 = 4 (10 Replies)
Discussion started by: jiam912
10 Replies

2. Shell Programming and Scripting

Clean values in range of duplicate records

Dear Gents, Could you please help me to solve this problem. I am getting the average of a column for same duplicate records in this case locate in column 1. The average is computed from column 5 from all duplicate records in column 1. Normallly the values in column 5 is constant so the... (3 Replies)
Discussion started by: jiam912
3 Replies

3. Shell Programming and Scripting

Convert Column Values to a Range of Values

I have a list of columns with values that I need to transform into a row containing the range of each column. For example: "Column A" 1 2 3 4 10 12 14 15 16 17 18 "Column B" 1 4 5 6 (4 Replies)
Discussion started by: newbio
4 Replies

4. UNIX for Dummies Questions & Answers

Using ls command to display files for range of values only

Hi Forum. I tried to search the forum for an answer but couldn't find it. I have the following files in my directory: PROFILE_TXN_61647.dat PROFILE_TXN_61648.dat PROFILE_TXN_61649.dat PROFILE_TXN_61650.dat PROFILE_TXN_61651.dat PROFILE_TXN_61652.dat PROFILE_TXN_61653.dat... (8 Replies)
Discussion started by: pchang
8 Replies

5. Shell Programming and Scripting

AWK Sorting with range values

Hello, I am looking for some help on GAWK script. I have a list of phone numbers as below. I need to sort these in the range of first 6 digits. 2402170338 2402170387 2402170478 2402170744 2403100025 2403100026 2403100027 2403100028 So for the above sample data, I require an output... (9 Replies)
Discussion started by: Diwakar9
9 Replies

6. Programming

grepping a range of values

I need to return all records in a file starting with a row that says TABLE: <tabl name> lists of hexadecimal records TABLE: <some table> TABLe is a key word in the file. I know the name of the table I want to start with. I do not know the name of the table that I will end with. I just... (4 Replies)
Discussion started by: guessingo
4 Replies

7. Programming

Finding range of values in an array

I have an array containing distances in ascending order, for example: distances = 100 120 150 170 200 280 300 .... I have a number, let's say v = 170 and a variation value, let's say var = 100 . I want to return the array indexes for which the distances cover the range (v - var) to (v +... (3 Replies)
Discussion started by: kristinu
3 Replies

8. Shell Programming and Scripting

Awk extract a range of values

Hi Input 10 131 11 179 11 170 20 142 20 131 20 144 21 178 22 155 22 196 23 144 23 184 24 194 24 191 24 218 25 167 25 131 26 189 (6 Replies)
Discussion started by: genehunter
6 Replies

9. Shell Programming and Scripting

To Create range of values

Hi, I have a file with the below like values with integers only in sorted order (May or may not be in sequence) Eg: File1.txt ----------- 1 2 3 4 5 6 . . . . . 10000 My requirement here is to create a range of values out put to a temp k (4 Replies)
Discussion started by: shiva447
4 Replies

10. UNIX for Dummies Questions & Answers

How to Display a range of values in the output of cat

When I use this command I get an output of some numbers cat ac.20070511 | cut -d" " -f19 Is there any way for me to display only the numbers that are greater than 1000 but not all the numbers in the ouput. Can any one help me with this. :) (8 Replies)
Discussion started by: venu_nbk
8 Replies
Login or Register to Ask a Question