Visit Our UNIX and Linux User Community


Match strings in two files and compare columns of both


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Match strings in two files and compare columns of both
# 8  
Old 02-08-2010
can you give more data from your input files and show the desired output too?
# 9  
Old 02-08-2010
Comparing to files

Its so long. I put a couple records in a pastebin file. Each record represents a chemical structure
pastebin - collaborative debugging tool

The index would look like this

23874
12345
23876
23456


We want to to print the index values that are present in the first file

23874
23876

And the values that are in the index but not the index file
12345
23456

# 10  
Old 02-08-2010
I'm working on a similar problem. Perhaps it's okay to piggyback on the thread?

I've two files:

First file:
data1
data2
...
string1:string2:string3

and the second:

string2:string3:n1:n2

I'd like each input line from file1 to appear in the output, and if string2:string3 appears in file2, append :n1:n2 to the matching
line in file1.

(My awk is really rusty...)

Thanks for any pointers you can provide!
# 11  
Old 02-09-2010
Quote:
Originally Posted by jackygrahamez
Its so long. I put a couple records in a pastebin file. Each record represents a chemical structure
pastebin - collaborative debugging tool

The index would look like this

23874
12345
23876
23456


We want to to print the index values that are present in the first file

23874
23876

And the values that are in the index but not the index file
12345
23456

Assuming the serial numbers are not in the file as it is in the pastebin...
This prints the index values that are present in the file...

Code:
awk 'NR==FNR{if($0=="^[0-9]*_ChemDiv_*");
split($0,arr,"_");
a[arr[1]]=arr[1];next}
$0 in a{print $0}
' file index

This prints the index values that are not in the file...

Code:
awk 'NR==FNR{if($0=="^[0-9]*_ChemDiv_*");
split($0,arr,"_");
a[arr[1]]=arr[1];next}
$0 in a{next}1
' file index


Previous Thread | Next Thread
Test Your Knowledge in Computers #761
Difficulty: Medium
Every core of a multi-core CPU has a dedicated L1 cache and that cache is usually shared between the cores
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Match patterns between two files and extract certain range of strings

Hi, I need help to match patterns from between two different files and extract region of strings. inputfile1.fa >l-WR24-1:1 GCCGGCGTCGCGGTTGCTCGCGCTCTGGGCGCTGGCGGCTGTGGCTCTACCCGGCTCCGG GGCGGAGGGCGACGGCGGGTGGTGAGCGGCCCGGGAGGGGCCGGGCGGTGGGGTCACGTG... (4 Replies)
Discussion started by: bunny_merah19
4 Replies

2. UNIX for Beginners Questions & Answers

Data match 2 files based on first 2 columns matching only and join if match

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

3. UNIX for Dummies Questions & Answers

Match the columns between two files and output

Hi Help, I have two files namely a.txt and b.txt a.txt looks like a.txt 1 2 2 1 3 3 2 4 4 4 5 6 6 7 7 b.txt looks like, b.txt 1 2 1 1 3 2 2 4 3 3 4 4 4 5 5 (2 Replies)
Discussion started by: Indra2011
2 Replies

4. Shell Programming and Scripting

Compare 2 csv files by columns, then extract certain columns of matcing rows

Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns. I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies

5. Shell Programming and Scripting

Match strings in 2 different files

Hi, i am trying to match strings from 2 different files based on position like below:- file1 (tab delimited) f07270 lololol fff u12730 gggddd dddkkrr mmm file2 (not tab delimited) %f07270 APSLH bl%alalalalallaadsdsfdfdfdgsgfss %g13450 GDIDFLRIP%ILITEAPPRKgsfgsgsf %d08880... (11 Replies)
Discussion started by: redse171
11 Replies

6. Shell Programming and Scripting

Match the columns between 2 files

I have two files I want to match ids in the 5th column of the file 1 with the first column of the file 2 and get the description for the matched ids as shown in the output sno nm no nm2 ID 1 cc 574372 yyyi |6810|51234| 2 bb 119721 nmjk |6810|51234|51179| ... (4 Replies)
Discussion started by: raj_k
4 Replies

7. Shell Programming and Scripting

Match columns several files

Hey fellas! Here come my problem. I appreciate if you have a look at it. I have several files with following structure: file_1:1 21 4 45 file_2:2 31 4 153 6 341 and so on... and I have a 'reference' file look like this: File_ref:A 1 B 2 C 3 (5 Replies)
Discussion started by: @man
5 Replies

8. Shell Programming and Scripting

Match list of strings in File A and compare with File B, C and write to a output file in CSV format

Hi Friends, I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving... File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies

9. Shell Programming and Scripting

Compare one files with strings from another + remove lines

Have two files and want to compare the content of file1 with file2. When matched remove the line. awk 'NR==FNR {b; next} !(b in $0)' file1 file2file1 1. if match 2. removefile2 1. this line has to be removed if match 2. this line has a match, remove 3. this line has no match, no removingThe... (3 Replies)
Discussion started by: sdf
3 Replies

10. Shell Programming and Scripting

How to compare 2 files & get only few columns based on a condition related to both files?

Hiiiii friends I have 2 files which contains huge data & few lines of it are as shown below File1: b.dat(which has 21 columns) SSR 1976 8 12 13 10 44.00 39.0700 70.7800 7.0 0 0.00 0 2.78 0.00 0.00 0 0.00 2.78 0 NULL ISC 1976 8 12 22 32 37.39 36.2942 70.7338... (6 Replies)
Discussion started by: reva
6 Replies

Featured Tech Videos