Sponsored Content
Top Forums Shell Programming and Scripting Compare values in two files. For matching rows print corresponding values from File 1 in File2. Post 302641281 by Santoshbn on Wednesday 16th of May 2012 02:43:59 AM
Old 05-16-2012
Compare values in two files. For matching rows print corresponding values from File 1 in File2.

- I have two files (File 1 and File 2) and the contents of the files are mentioned below.
- I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2.

- I tried to modify and use the solution provided in the forum for a similar problem, but did not get the required result.

Code:
awk 'NR==FNR{A[$1]=$2}A[$3]{sub($3,A[$3]);print}' file2 file1

Code:
=>cat File1.out
19296   RPRRYM
19223   BRIJAA3
19222   ARAFAY
19439   LRATAG
19227   HRAEAV
19154   ARADA1
19226   FRAJAX
19225   SRAJAS
19369   OCRILL
19224   ARPJAD
82395   IRKJAY
 
 
=>cat File2.out
19296       WAITING              04/27/2012-10:05:15   DWYGSTC         -              OPEN                  SELECT EMPID,EMPNAME,EMPADD
                                                                                                                                 FROM EMPLOYEE
                                                                                                                               WHERE EMPID=101
19223       WAITING              04/27/2012-13:00:00   SARMLTE         -              NONE                  -
19222       WAITING              04/27/2012-13:20:42   SMBRMTSE        -            NONE                  -
19439       WAITING              04/27/2012-13:13:51   ZMDRTVEL        -              STATIC_ROLLBAK        -
19445       EXECUTING           04/27/2012-13:23:06   SARMLTE         -              NONE                  -
19227       WAITING              04/27/2012-11:47:17   KKAYAL          -                EXECUTE               INSERT INTO ADDRESS (SELECT CITY, STATE, COUNTRY
                                                                                                            FROM EMP_ADDRESS
                                                                                                            WHERE BIRTHCITY='XYZ'
19154       WAITING              04/27/2012-13:22:31   SARMLTET        -              NONE                  -
19226       WAITING              04/27/2012-13:00:00   VKAZA1          -              NONE                  -
19225       CONNECTED          04/27/2012-08:20:35   BMCRTSEL        -                FETCH                 SELECT COUNT(1) FROM COUNTRY WITH UR
19369       WAITING              04/27/2012-11:35:40   GCZILLG         -                STATIC_COMMIT         -
19224       WAITING              04/27/2012-08:20:35   SMQRTQEL        -              NONE                  -
82395       WAITING              04/27/2012-13:21:14   JSARTAEL        -              PREP_COMMIT           -
 
 
 
Required Result:
 
19296       WAITING              04/27/2012-10:05:15   DWYGSTC         RPRRYM     OPEN                  SELECT EMPID,EMPNAME,EMPADD
                                                                                                                                   FROM EMPLOYEE
                                                                                                                           WHERE EMPID=101
19223       WAITING              04/27/2012-13:00:00   SARMLTE         BRIJAA3     NONE                   -
19222       WAITING              04/27/2012-13:20:42   SMBRMTSE       ARAFAY     NONE                    -
19439       WAITING              04/27/2012-13:13:51   ZMDRTVEL       LRATAG     STATIC_ROLLBAK       -
19445       EXECUTING            04/27/2012-13:23:06   SARMLTE         -       NONE                  -
19227       WAITING              04/27/2012-11:47:17   KKAYAL         HRAEAV    EXECUTE              INSERT INTO ADDRESS (SELECT CITY, STATE, COUNTRY
                                                                                                            FROM EMP_ADDRESS
                                                                                                            WHERE BIRTHCITY='XYZ'
19154       WAITING              04/27/2012-13:22:31   SARMLTET       ARADA1     NONE                  -
19226       WAITING              04/27/2012-13:00:00   VKAZA1         FRAJAX     NONE                  -
19225       CONNECTED           04/27/2012-08:20:35   BMCRTSEL       SRAJAS     FETCH                 SELECT COUNT(1) FROM COUNTRY WITH UR
19369       WAITING              04/27/2012-11:35:40   GCZILLG         OCRILL      STATIC_COMMIT     -
19224       WAITING              04/27/2012-08:20:35   SMQRTQEL       ARPJAD     NONE                  -
82395       WAITING              04/27/2012-13:21:14   JSARTAEL       IRKJAY      PREP_COMMIT         -


Last edited by Franklin52; 05-16-2012 at 03:51 PM.. Reason: Adding tags for code
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl script to print to values in rows and columns

Hi guys I want to print the values by using this script but its giving the no of rows and columns as input instead of values Would you plz help me on this FILE- chr1.txt 1981 1 1971 1 1961 1 1941 1 perl script #!/usr/bin/perl -w $infile1 = 'chr1.txt'; $outfile3 = 'out3.txt'; ... (3 Replies)
Discussion started by: nogu0001
3 Replies

2. Shell Programming and Scripting

compare two columns of different files and print the matching second file..

Hi, I have two tab separated files; file1: S.No ddi fi cu o/l t+ t- 1 0.5 0.6 o 0.1 0.2 2 0.2 0.3 l 0.3 0.4 3 0.5 0.8 l 0.1 0.6 ... (5 Replies)
Discussion started by: vasanth.vadalur
5 Replies

3. Shell Programming and Scripting

AWK: read values from file1; search for values in file2

I have read another post about this issue and am wondering how to adapt it to my own, much simpler, issue. I have a file of user IDs like so: 333333 321321 546465 ...etc I need to take each number and use it to print records wherein the 5th field matches the user ID pulled from the... (2 Replies)
Discussion started by: Bubnoff
2 Replies

4. Shell Programming and Scripting

Print rows in reverse order if values decrease along the column

Hi, Guys. Please help me to find solution to this problem using shell scripting. I have an INPUT file with 4 columns separated by tab. Each block of records is separated by ----- ----- Sample1 5402 6680 Pattern01 Sample2 2216 2368 Pattern02... (6 Replies)
Discussion started by: sam_2921
6 Replies

5. Shell Programming and Scripting

Get values from different columns from file2 when match values of file1

Hi everyone, I have file1 and file2 comma separated both. file1 is: Header1,Header2,Header3,Header4,Header5,Header6,Header7,Header8,Header9,Header10 Code7,,,,,,,,, Code5,,,,,,,,, Code3,,,,,,,,, Code9,,,,,,,,, Code2,,,,,,,,,file2... (17 Replies)
Discussion started by: cgkmal
17 Replies

6. Shell Programming and Scripting

Print columns matching to specific values

Hello Friends, I have a CDR file and i need to print out 2 columns with their field position which matches to some constant values, a part of input file CZ=1|CZA=1|DIAL=415483420001|EE=13|ESF=1|ET=|FF=0|9|MNC=99|MNP=9041|MTC=0|NID=2|NOA=international|ON=1| OutPut ... (3 Replies)
Discussion started by: EAGL€
3 Replies

7. Shell Programming and Scripting

How to print in awk matching $1 values ,to $1,$4 example given.?

Hi Experts, I am trying to get the output from a matching pattern but unable to construct the awk command: file : aa bb cc 11 dd aa cc 33 cc 22 45 68 aa 33 44 44 dd aa cc 37 aa 33 44 67 I want the output to be : ( if $1 match to "aa" start of the line,then print $4 of that line, and... (3 Replies)
Discussion started by: rveri
3 Replies

8. Shell Programming and Scripting

Compare file1 for matching line in file2 and print the difference in matching lines

Hello, I have two files file 1 and file 2 each having result of a query on certain database tables and need to compare for Col1 in file1 with Col3 in file2, compare Col2 with Col4 and output the value of Col1 from File1 which is a) not present in Col3 of File2 b) value of Col2 is different from... (2 Replies)
Discussion started by: RasB15
2 Replies

9. UNIX for Dummies Questions & Answers

Compare file1 and file2, print matching lines in same order as file1

I want to print only the lines in file2 that match file1, in the same order as they appear in file 1 file1 file2 desired output: I'm getting the lines to match awk 'FNR==NR {a++}; FNR!=NR && a' file1 file2 but they are in sorted order, which is not what I want: Can anyone... (4 Replies)
Discussion started by: pathunkathunk
4 Replies

10. UNIX for Beginners Questions & Answers

Compare values in multiple rows in one column using awk

I would like to compare values in column 8, and grep the ones where the different is > 1, columns 1 and 2 are the key for array. Every 4 rows the records values in columns 1 and 2 changed. Then, the comparison in the column 8 need to be done for the 4 rows everytime columns 1 and 2 changed ... (4 Replies)
Discussion started by: jiam912
4 Replies
All times are GMT -4. The time now is 06:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy