04-01-2010
How to match 2 columns where one column has data as a range
Hi,
I have a query about joining files using data ranges.
Example files below - I want to join file1 to file2 with matches where file1 column 1 is equal to file2 column1, and file1 column 2 is within the range of file2 columns 3 and 4. I would like rows which don't match to be printed too.
Thanks!!
file1
A 1
A 2
A 3
B 1
B 2
B 3
B 4
C 1
C 2
C 3
C 4
file 2
A Exon 2 3
B Exon 1 2
C Exon 3 4
output file required
A 1 -
A 2 Exon
A 3 Exon
B 1 Exon
B 2 Exon
B 3 -
B 4 -
C 1 -
C 2 -
C 3 Exon
C 4 Exon
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Apologies if this has been covered - I did search but couldn't find what I was looking for.
I have a simple X-Y input file. I want to convert it from two columns into 8 columns - 4 pairs of X-Y data. So my input file looks like
X1 Y1
X2 Y2
X3 Y3
X4 Y4
X5 Y5
etc
And I want it to look... (8 Replies)
Discussion started by: NickC
8 Replies
2. UNIX for Dummies Questions & Answers
ex:
a file has :
122323
123456456
125656879
678989965t635
234323432
b has :
this is finance no.
this is phone no
this is extn
ajkdgag
idjsidj
i want the o/p as:
122323 his is finance no.
123456456 this is phone no
123456456 ... (4 Replies)
Discussion started by: TRUPTI
4 Replies
3. Shell Programming and Scripting
My input file:
data_5 Ali 422 2.00E-45 102/253 140/253 24
data_3 Abu 202 60.00E-45 12/23 140/23 28
data_1 Ahmad 256 7.00E-45 120/235 140/235 22
data_4 Aman 365 8.00E-45 15/65 140/65 20
data_10 Jones 869 9.00E-45 65/253 140/253 18... (12 Replies)
Discussion started by: patrick87
12 Replies
4. Shell Programming and Scripting
Hi Everyone,
Here's a snippet of my data:
File 1 = testRef2:
A1BG - 13208 13284
AAA1 - 34758475 34873943
AAAS - 53701240 53715412File 2 = 42MLN.3.bedS2:
13208
13208
13360
13363
13484
13518
13518My awk script:
awk 'NR == FNR{a=$1;next} {$1>=a}{$1<=a}{print... (5 Replies)
Discussion started by: heecha
5 Replies
5. UNIX for Dummies Questions & Answers
Dear all,
there is a nice solution for a text merge where the second file has only variables with a numeric range ( sorry, cannot post URL + thread is closed ). The real world is however more complicated than in the earlier example.
file1
A 1
A 2
A 3
B 1
B 2
B 3
B 4
C 1
C 2
C 3
C... (4 Replies)
Discussion started by: underscore
4 Replies
6. Shell Programming and Scripting
File A
B07 U51C 4434 L662C 4412
B07 L64U 612 L651B 4434
B07 L11C 4434 R151B 4434
B05 L12Z 612 L51B 4434
B01 651Z 612 L651C 4434
B04 A51Z 612 L51A 4434
L07 B08D 4434 B1B 4434
B07 RU8D 4434 L51A 4434
B07 L58D 4434 B51C 4434
B07 LA8D 4434 L4B 4434
Now i want File B Output
B07... (2 Replies)
Discussion started by: asavaliya
2 Replies
7. Shell Programming and Scripting
Hi all,
I have 2 files
one file contain data like this in one column
AST3
GSTY4
JST3
second file containign data like this in 2 columns
AST3(PAXXX),GSTY4(PAXXY) it is used in diabetes
KST4 it is used in blood... (6 Replies)
Discussion started by: manigrover
6 Replies
8. Shell Programming and Scripting
Hello experts,
Please help me in achieving this in an easier way possible. I have 2 csv files with following data:
File1
08/23/2012 12:35:47,JOB_5330
08/23/2012 12:35:47,JOB_5330
08/23/2012 12:36:09,JOB_5340
08/23/2012 12:36:14,JOB_5340
08/23/2012 12:36:22,JOB_5350
08/23/2012... (5 Replies)
Discussion started by: asnandhakumar
5 Replies
9. Shell Programming and Scripting
I have the need to match the first two columns and when they match, calculate the percent of average for the third columns. The following awk script does not give me the expected results.
awk 'NR==FNR {T=$3; next} $1,$2 in T {P=T/$3*100; printf "%s %s %.0f\n", $1, $2, (P>=0)?P:-P}' diff.file... (1 Reply)
Discussion started by: ncwxpanther
1 Replies
10. UNIX for Beginners Questions & Answers
Hi,
i have 2 files , the data i need to match is in masterfile and i need to pull out column 3 from master if column 1 and 2 match and output entire row to new file
I have tried with join and awk and i keep getting blank outputs or same file
is there an easier way than what i am... (4 Replies)
Discussion started by: axis88
4 Replies
comm(1) User Commands comm(1)
NAME
comm - select or reject lines common to two files
SYNOPSIS
comm [-123] file1 file2
DESCRIPTION
The comm utility reads file1 and file2, which must be ordered in the current collating sequence, and produces three text columns as output:
lines only in file1; lines only in file2; and lines in both files.
If the input files were ordered according to the collating sequence of the current locale, the lines written will be in the collating
sequence of the original lines. If not, the results are unspecified.
OPTIONS
The following options are supported:
-1 Suppresses the output column of lines unique to file1.
-2 Suppresses the output column of lines unique to file2.
-3 Suppresses the output column of lines duplicated in file1 and file2.
OPERANDS
The following operands are supported:
file1 A path name of the first file to be compared. If file1 is -, the standard input is used.
file2 A path name of the second file to be compared. If file2 is -, the standard input is used.
USAGE
See largefile(5) for the description of the behavior of comm when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes).
EXAMPLES
Example 1: Printing a list of utilities specified by files
If file1, file2, and file3 each contain a sorted list of utilities, the command
example% comm -23 file1 file2 | comm -23 - file3
prints a list of utilities in file1 not specified by either of the other files. The entry:
example% comm -12 file1 file2 | comm -12 - file3
prints a list of utilities specified by all three files. And the entry:
example% comm -12 file2 file3 | comm -23 -file1
prints a list of utilities specified by both file2 and file3, but not specified in file1.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of comm: LANG, LC_ALL, LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All input files were successfully output as specified.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO
cmp(1), diff(1), sort(1), uniq(1), attributes(5), environ(5), largefile(5), standards(5)
SunOS 5.10 3 Mar 2004 comm(1)