Help with data


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Help with data
# 1  
Old 12-22-2016
Help with data

I need to match two files based on $5 from file 1 and $5 of file 2 and print all fields of file 1 which match with file 2. In addition, want to print $6 and $7 of file 2 in file 1 after matching and remove lines which have empty records.
file 1
Code:
 7   81  1   47  32070  2  4
 7   83  1   67  29446  3  3
 7   92  1   84  28234  5  6

file 2
Code:
 2    1864757  3 301 81942  HF 6FH 
32  1864799  3 316 77112  HF 7FH 
32  1864830  3 279 32070 HF 8 
32  1864874  3 224 13528  HF 8 
32  1864895  3 320 29446 HF 6FH 
32  1864900  3 242 12556  HF 8 
32  1864904  1 285 28234 HF 6FH

I would like to print like this
Code:
 7   81  1   47  32070   2  4  HF 8  
 7   83  1   67  29446   3  3  HF 8  
 7   92  1   84  28234   5  6  HF 8


Last edited by jim mcnamara; 12-22-2016 at 09:16 AM..
# 2  
Old 12-22-2016
Welcome to UNIX Forums.

We are always ready to help. But we are not a coding service, please show us what you have tried, then we can get you going where you need to be.
# 3  
Old 12-22-2016
I used this code:
Code:
awk 'NR==FNR{a[$5]=$5 FS $6;next}$0=$0 FS a[$NF]'file2 file1


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 12-22-2016 at 12:01 PM.. Reason: Added CODE tags.
# 4  
Old 12-22-2016
You're not too far off.
- save $6 and $7 in the a array (in lieu of $5 and $6)
- use $5 as the index into the array, not $NF
- add a space between the "script" in single quotes and the first file parameter


Code:
awk 'NR==FNR  {a[$5] = $6 FS $7; next}   $0 = $0 FS a[$5]' file2 file1
 7   81  1   47  32070  2  4 HF 8
 7   83  1   67  29446  3  3 HF 6FH
 7   92  1   84  28234  5  6 HF 6FH

Unfortunately your sample output cannot be met as $7 in file2 doesn't have the values you print. And, nice trick to use $0 as the pattern to remove empty lines (as requested), but it will fail if a line contains white space only. In your sample code, $0 will ALWAYS contain FS and thus print...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk --> math-operation in data-record and joining with second file data

Hi! I have a pretty complex job - at least for me! i have two csv-files with meassurement-data: fileA ...... (2 Replies)
Discussion started by: IMPe
2 Replies

2. Shell Programming and Scripting

Parsing XML (and insert data) then output data (bash / Solaris)

Hi folks I have a script I wrote that basically parses a bunch of config and xml files works out were to add in the new content then spits out the data into a new file. It all works - apart from the xml and config file format in the new file with XML files the original XML (that ends up in... (2 Replies)
Discussion started by: dfinch
2 Replies

3. Shell Programming and Scripting

Generate tabular data based on a column value from an existing data file

Hi, I have a data file with : 01/28/2012,1,1,98995 01/28/2012,1,2,7195 01/29/2012,1,1,98995 01/29/2012,1,2,7195 01/30/2012,1,1,98896 01/30/2012,1,2,7083 01/31/2012,1,1,98896 01/31/2012,1,2,7083 02/01/2012,1,1,98896 02/01/2012,1,2,7083 02/02/2012,1,1,98899 02/02/2012,1,2,7083 I... (1 Reply)
Discussion started by: himanish
1 Replies

4. Shell Programming and Scripting

Converting variable space width data into CSV data in bash

Hi All, I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for. My Input data in inputfile.txt 19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Discussion started by: vharsha
4 Replies

5. UNIX for Dummies Questions & Answers

How to get data only inside polygon created by points which is part of whole data from file?

hiii, Help me out..i have a huge set of data stored in a file.This file has has 2 columns which is latitude & longitude of a region. Now i have a program which asks for the number of points & based on this number it asks the user to enter that latitude & longitude values which are in the same... (7 Replies)
Discussion started by: reva
7 Replies

6. Shell Programming and Scripting

Extract data based on match against one column data from a long list data

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

7. UNIX for Dummies Questions & Answers

converting a tabular format data to comma seperated data in KSH

Hi, Could anyone help me in changing a tabular format output to comma seperated file pls in K-sh. Its very urgent. E.g : username empid ------------------------ sri 123 to username,empid sri,123 Thanks, Hema:confused: (2 Replies)
Discussion started by: Hemamalini
2 Replies

8. Shell Programming and Scripting

how to verify that copied data to remote system is identical with local data.

I have created simple shell script #!/bin/sh echo `date`; echo "Start .... find . -mtime +95 -print > /tmp/files.txt for file in `cat /tmp/files.txt` do echo "copying file - $file" /usr/local/bin/scp -p -P 2222 $file remote.hostname:/file/path echo "copid file -... (3 Replies)
Discussion started by: ynilesh
3 Replies

9. UNIX for Dummies Questions & Answers

Howto capture data from rs232port andpull data into oracle database-9i automatically

Hi, i willbe very much grateful to u if u help me out.. if i simply connect pbx machine to printer by serial port RS232 then we find this view: But i want to capture this data into database automatically when the pbx is running.The table in database will contain similar to this view inthe... (1 Reply)
Discussion started by: boss
1 Replies
Login or Register to Ask a Question