Visit Our UNIX and Linux User Community


compare files by numerical value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting compare files by numerical value
# 1  
Old 10-29-2009
compare files by numerical value

Hi everyone,

I would love to have a script that does the following:

I have one file that looks like that:

Code:
ATOM      1  BB  SER 1   1     -31.958 -25.125 -11.061  1.00  0.00      
ATOM      3  BB  GLY 1   2     -32.079 -26.085 -14.466  1.00  0.00      
ATOM      4  BB  VAL 1   3     -36.455 -21.265 -15.792  1.00  0.00      
ATOM      6  BB  SER 1   4     -37.401 -20.877 -19.029  1.00  0.00     
ATOM      8  BB  ALA 1   5     -42.701 -21.232 -18.584  1.00  0.00     
ATOM     10  BB  VAL 1   6     -47.498 -23.718 -18.979  1.00  0.00

Then I have a second file that looks like that:

Code:
1
3
6

What I want to do is: In those lines of file1 where $6 has one of the values of file2, I add an additional column in file1 $12=="cg". The output should look like this:

Code:
ATOM      1  BB  SER 1   1     -31.958 -25.125 -11.061  1.00  0.00  cg   
ATOM      3  BB  GLY 1   2     -32.079 -26.085 -14.466  1.00  0.00      
ATOM      4  BB  VAL 1   3     -36.455 -21.265 -15.792  1.00  0.00  cg    
ATOM      6  BB  SER 1   4     -37.401 -20.877 -19.029  1.00  0.00     
ATOM      8  BB  ALA 1   5     -42.701 -21.232 -18.584  1.00  0.00     
ATOM     10  BB  VAL 1   6     -47.498 -23.718 -18.979  1.00  0.00  cg

Could anyone help me please? That would be great! Normally I am using awk or perl :-)

Thank you so much,
Christine

Last edited by vgersh99; 10-29-2009 at 06:49 PM.. Reason: code tags, please!
# 2  
Old 10-29-2009
Code:
 awk 'FNR == NR { A[$1] = $1; next } {print A[$6]?$0 " cg": $0}' file1 file2

ATOM 1 BB SER 1 1 -31.958 -25.125 -11.061 1.00 0.00 cg
ATOM 3 BB GLY 1 2 -32.079 -26.085 -14.466 1.00 0.00
ATOM 4 BB VAL 1 3 -36.455 -21.265 -15.792 1.00 0.00 cg
ATOM 6 BB SER 1 4 -37.401 -20.877 -19.029 1.00 0.00
ATOM 8 BB ALA 1 5 -42.701 -21.232 -18.584 1.00 0.00
ATOM 10 BB VAL 1 6 -47.498 -23.718 -18.979 1.00 0.00  cg

where file1 is the 1,3 6 file and file2 the other file.

Previous Thread | Next Thread
Test Your Knowledge in Computers #720
Difficulty: Medium
Alan Minsky was an adviser on Stanley Kubrick's movie 2001: A Space Odyssey.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash to add portion of text to files in directory using numerical match

In the below bash I am trying to rename eachof the 3 text files in /home/cmccabe/Desktop/percent by matching the numerical portion of each file to lines 3,4, or 5 in /home/cmccabe/Desktop/analysis.txt. There will always be a match between the files. When a match is found each text file in... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. Shell Programming and Scripting

Match and store numerical prefix to update files

In the bash below the unique headers of each vcf.gz are stored in a text file with the same name. That is if 16-0000-file.vcf.gz was used the header text file would be 16-0000-file_header.txt. There can be multiple vcf.gz in a directory, usually 3, that I need to fix the header in each file before... (6 Replies)
Discussion started by: cmccabe
6 Replies

3. Shell Programming and Scripting

how to extract data from numbered files using linux in the numerical order-

Hi experts, I have a list of files containing forces as the only number as follows. Force1.txt Force2.txt Force3.txt Force4.txt Force5.txt . . . . . . . . . Force100.txt I want to put all the data(only a number ) in these forces files in the file with the same order like 1,2,3 ..100 .... (2 Replies)
Discussion started by: hamnsan
2 Replies

4. Shell Programming and Scripting

Deleting particular files with a numerical suffix

Hello I have a directory with a list of files which have a particular numerical suffix. E.g filename_0 filename_1 filename_18500 filename_10000 I want to delete all files from this directory which have a filename which have a numerical suffix greater than 10540. So any files... (5 Replies)
Discussion started by: kamal_p_99
5 Replies

5. UNIX for Dummies Questions & Answers

List files according to the numerical value

Hi, I have a large number of files which are named as follows. VF_50, VF_100, VF_150, VF_250, VF_300, VF_350, VF_400, VF_450, VF_500. When I do an 'ls' it arranges the files in the following way VF_100, VF_150, VF_250, VF_300, VF_350, VF_400, VF_450, VF_50, VF_500. Is there a way to... (2 Replies)
Discussion started by: lost.identity
2 Replies

6. UNIX for Dummies Questions & Answers

finding and moving files based on the last three numerical characters in the filename

Hi, I have a series of files (upwards of 500) the filename format is as follows CC10-1234P1999.WGS84.p190, all in one directory. Now the last three numeric characters, in this case 999, can be anything from 001 to 999. I need to move some of them to a seperate directory, the ones I need to... (5 Replies)
Discussion started by: roche.j.mike
5 Replies

7. UNIX for Dummies Questions & Answers

moving/copying files in a numerical order

Hi I am newbie to unix scripting, but i have enough knowledge to understand. I have a specific questions like, I use to collect like 3500 files per experiment, each one named like data_001.img.. data_002.img data_003.img .... data_3500.img I would like to move every 12 files in the 3500... (3 Replies)
Discussion started by: wpat
3 Replies

8. UNIX for Dummies Questions & Answers

Moving files out of multiple directories and renaming them in numerical order

Hi, I have 500 directories each with multiple data files inside them. The names are sort of random. For example, one directory has files named e_1.dat, e_5.dat, e_8.dat, etc. I need to move the files to a single directory and rename them all in numerical order, from 1.dat to 1000(or some... (1 Reply)
Discussion started by: renthead720
1 Replies

9. Programming

Adding files of numerical data

Hi I was hoping that maybe someone could help me with a small piece of C code. I have a number of files, which are all of similar layout ie. three lines of text and 5-6 columns of numerical data. I need to add each of the elements of the second column in one file to their counterparts in the second... (17 Replies)
Discussion started by: Boucho
17 Replies

10. Shell Programming and Scripting

Listing files in numerical order

Hi, I'm trying to write a ksh script to copy a specified number of files from one directory to another. The files are named in the convention <switchname>_log.<num> and the numbers are sequential single digit onwards. I figured I could find some parameter for ls which would list the files in... (3 Replies)
Discussion started by: Steve_H
3 Replies

Featured Tech Videos