Sponsored Content
Top Forums Shell Programming and Scripting filtering one file based on results from other Post 302258619 by digipak on Saturday 15th of November 2008 02:34:56 AM
Old 11-15-2008
filtering one file based on results from other

Can anybody help me with writing a script for the data that I want to use from one file based on the data from another file. I have file1 in this form;

(the first field represents a well name and the second field represents the depth of interest)
FILE1
--------


DATA_35_0 -4065.517
DATA_48_0 -4043.609
............... .............
............... .............

The second file is of the form;


FILE2
-------

DATA_35_0 392409.2 2966457. 25.00000
DATA_35_0 392408.6 2966463. -2374.779
DATA_35_0 392408.4 2966463. -2474.773
DATA_35_0 392408.2 2966464. -2574.767
DATA_35_0 392408.2 2966464. -2674.762
DATA_35_0 392408.3 2966464. -2774.757
DATA_35_0 392408.5 2966464. -2874.752
DATA_35_0 392410.7 2966464. -3374.687
DATA_35_0 392411.2 2966463. -3474.669
DATA_35_0 392411.6 2966463. -3574.651
DATA_35_0 392412.1 2966462. -3674.633
DATA_35_0 392412.7 2966462. -3774.612
DATA_35_0 392413.2 2966462. -3874.585
DATA_35_0 392413.9 2966461. -3974.552
DATA_35_0 392414.6 2966461. -4074.514
DATA_35_0 392415.3 2966460. -4174.471
DATA_35_0 392416.1 2966460. -4274.429
DATA_35_0 392416.9 2966460. -4374.381
DATA_35_0 392417.8 2966459. -4474.324
DATA_35_0 392418.7 2966458. -4574.263
DATA_35_0 392419.5 2966458. -4674.216
............... ............. ............ ...............

I want to filter the file2 in a way that it only puts out the data where column 4 in the file2 is less than or equal to the second column in file 1. Thus in if file1 only had one record i.e. DATA_35_0 -4065.517, then I want the file2 to be filtered so that it it becomes (based on column 4) as follows;

DATA_35_0 392414.6 2966461. -4074.514
DATA_35_0 392415.3 2966460. -4174.471
DATA_35_0 392416.1 2966460. -4274.429
DATA_35_0 392416.9 2966460. -4374.381
DATA_35_0 392417.8 2966459. -4474.324
DATA_35_0 392418.7 2966458. -4574.263
DATA_35_0 392419.5 2966458. -4674.216

i.e the column 4 (and the coresponding other columns) are output wherever the column 4 is lessthan or equal to -4065.517
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

filtering list results

I created a large file list using: find . -type f -mtime +540 > test2.txt ..which searched recursively down the directory tree searching for any file older than 540 days. I would like to filter the results removing the directory name and the "/" character, resulting in only a list of the... (3 Replies)
Discussion started by: fxvisions
3 Replies

2. UNIX for Dummies Questions & Answers

Filtering records of a file based on a value of a column

Hi all, I would like to extract records of a file based on a condition. The file contains 47 fields, and I would like to extract only those records that match a certain value in one of the columns, e.g. COL1 COL2 COL3 ............... COL47 1 XX 45 ... (4 Replies)
Discussion started by: risk_sly
4 Replies

3. Shell Programming and Scripting

filtering one file based on results from other- AGAIN

I have asked this question here before and got the answer too. Unfortunately I used only one record as an example and the script works fine for one record but not for more than one record. Can anybody help me with writing a script for the data that I want to use from one file based on the... (13 Replies)
Discussion started by: digipak
13 Replies

4. Shell Programming and Scripting

filtering records based on numeric field value in 8th position

I have a ";" delimited file.Whcih conatins a number fileds of length 4 charcters in 8th position But there is a alphanumeric charcters like : space, ";" , "," , "/" , "23-1" , "23 1" , "aqjhdj" , "jun-23" , "APR-04" , "4:00AM" , "-234" , "56784 ", "." , "+" "_" , "&" , "*" , "^" , "%" , "!"... (2 Replies)
Discussion started by: indusri
2 Replies

5. Shell Programming and Scripting

Perl: filtering lines based on duplicate values in a column

Hi I have a file like this. I need to eliminate lines with first column having the same value 10 times. 13 18 1 + chromosome 1, 122638287 AGAGTATGGTCGCGGTTG 13 18 1 + chromosome 1, 128904080 AGAGTATGGTCGCGGTTG 13 18 1 - chromosome 14, 13627938 CAACCGCGACCATACTCT 13 18 1 + chromosome 1,... (5 Replies)
Discussion started by: polsum
5 Replies

6. UNIX for Dummies Questions & Answers

Filtering records from 1 file based on some manipulation doen on second file

Hi, I am looking for an awk script which should help me to meet the following requirement: File1 has records in following format INF: FAILEd RECORD AB1234 INF: FAILEd RECORD PQ1145 INF: FAILEd RECORD AB3215 INF: FAILEd RECORD AB6114 ............................ (2 Replies)
Discussion started by: mintu41
2 Replies

7. Shell Programming and Scripting

Filtering first file columns based on second file column

Hi friends, I have one file like below. (.csv type) SNo,data1,data2 1,1,2 2,2,3 3,3,2 and another file like below. Exclude data1 where Exclude should be treated as column name in file2. I want the output shown below. SNo,data2 1,2 2,3 3,2 Where my data1 column got removed from... (2 Replies)
Discussion started by: ks_reddy
2 Replies

8. Shell Programming and Scripting

Filtering duplicates based on lookup table and rules

please help solving the following. I have access to redhat linux cluster having 32gigs of ram. I have duplicate ids for variable names, in the file 1,2 are duplicates;3,4 and 5 are duplicates;6 and 7 are duplicates. My objective is to use only the first occurrence of these duplicates. Lookup... (4 Replies)
Discussion started by: ritakadm
4 Replies

9. UNIX for Beginners Questions & Answers

Filtering based on column values

Hi there, I am trying to filter a big file with several columns using values on a column with values like (AC=5;AN=10;SF=341,377,517,643,662;VRT=1). I wont to filter the data based on SF= values that are (bigger than 400) ... (25 Replies)
Discussion started by: daashti
25 Replies

10. UNIX for Beginners Questions & Answers

Filtering records of a csv file based on a value of a column

Hi, I tried filtering the records in a csv file using "awk" command listed below. awk -F"~" '$4 ~ /Active/{print }' inputfile > outputfile The output always has all the entries. The same command worked for different users from one of the forum links. content of file I was... (3 Replies)
Discussion started by: sunilmudikonda
3 Replies
COMM(1) 						    BSD General Commands Manual 						   COMM(1)

NAME
comm -- select or reject lines common to two files SYNOPSIS
comm [-123f] file1 file2 DESCRIPTION
The comm utility reads file1 and file2, which should be sorted lexically, and produces three text columns as output: lines only in file1; lines only in file2; and lines in both files. The filename ``-'' means the standard input. The following options are available: -1 Suppress printing of column 1. -2 Suppress printing of column 2. -3 Suppress printing of column 3. -f Fold case in line comparisons. Each column will have a number of tab characters prepended to it equal to the number of lower numbered columns that are being printed. For example, if column number two is being suppressed, lines printed in column number one will not have any tabs preceding them, and lines printed in column number three will have one. comm assumes that the files are lexically sorted; all characters participate in line comparisons. EXIT STATUS
comm exits 0 on success, >0 if an error occurred. SEE ALSO
cmp(1), diff(1), sort(1), uniq(1) STANDARDS
The comm utility conforms to IEEE Std 1003.2-1992 (``POSIX.2''). BSD
June 6, 1993 BSD
All times are GMT -4. The time now is 01:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy