File Compare


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting File Compare
# 1  
Old 06-24-2010
File Compare

Below are the two files :

File 1:

Code:
12345,john,london,9000
12345,Tom,london,9000

File 2:
Code:
12345,Keath,london,9000
12345,Tom,london,9000

Now i want to write the script which will compare both of the files line by line.
Also it should create the new file outputting the difference.

Output file should be similar to this -
There is difference at line 1 and column 2 with the data from both files.

File 3:
Code:
line1, column 2,File 1, john, File 2 ,Keath.




Please assist me to achieve this.

Thanks

Last edited by Scott; 06-24-2010 at 02:53 PM.. Reason: Please use code tags
# 2  
Old 06-26-2010
Hi, ravigupta2u.

Welcome to the forum.

Is this a homework problem? Please provide some background if it is not.

What have you tried so far?

Thanks ... cheers, drl
# 3  
Old 06-27-2010
MySQL

Code:
#!/usr/bin/perl

use strict;
use warnings;

my ($filename1, $filename2, @FILE1, @FILE2, $line, $linenumber, @file1, @file2);
$filename1 = "file1.txt";
$filename2 = "file2.txt";

open(file1,"<",$filename1) or die "Cannot open $filename1";
open(file2,"<",$filename2) or die "Cannot open $filename2";
@FILE1 = <file1>;
@FILE2 = <file2>;

if (scalar(@FILE1) !~ scalar(@FILE2)) {
print "One of the files have extra lines\n $filename1 has ", scalar(@FILE1), " lines\n $filename2 has ", scalar(@FILE2)," lines\n";
exit 1;
}
$line = 1;
$linenumber = 0;

foreach(@FILE2) {
@file1 = split(/,/,$FILE1[$linenumber]);
@file2 = split(/,/,$FILE2[$linenumber]);

if ( $file1[0] !~ $file2[0] ){print "Line $line, Column 1, $filename1, $file1[0], $file2[0], $filename2\n"}
if ( $file1[1] !~ $file2[1] ){print "Line $line, Column 2, $filename1, $file1[1], $file2[1], $filename2\n"}
if ( $file1[2] !~ $file2[2] ){print "Line $line, Column 3, $filename1, $file1[2], $file2[2], $filename2\n"}
if ( $file1[3] !~ $file2[3] ){print "Line $line, Column 4, $filename1, $file1[3], $file2[3], $filename2\n"}
$line = $line + 1;
$linenumber = $linenumber + 1;
}
close(file1);
close(file2);


Last edited by 3junior; 06-27-2010 at 03:26 PM..
# 4  
Old 06-29-2010
Hi Dear,

I am new in shell scripting.
Scenario is a follows -
I have two folders ../before_processed and ../after_processed. There thousands of the files. Files picked by one application & get processed and finally copied to /after_processed folder. Data line is comma separated.

Now I need to compare the files from both location to identify -
1) the changed records
2) the exact data which got changed

So, please assist me.
# 5  
Old 06-29-2010
Have a look at diff's -r option.

Regards,
Alister
# 6  
Old 06-29-2010
Quote:
Originally Posted by ravigupta2u
Hi Dear,

I am new in shell scripting.
Scenario is a follows -
I have two folders ../before_processed and ../after_processed. There thousands of the files. Files picked by one application & get processed and finally copied to /after_processed folder. Data line is comma separated.

Now I need to compare the files from both location to identify -
1) the changed records
2) the exact data which got changed

So, please assist me.
just use my perl script
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script (sh file) logic to compare contents of one file with another file and output to file

Shell script logic Hi I have 2 input files like with file 1 content as (file1) "BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt File 2 contents as fle(2) "BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt I want to get... (22 Replies)
Discussion started by: pottic
22 Replies

2. Shell Programming and Scripting

How to compare 2 files and create a result file with unmatched lines from first file.?

HI, I have 2 text files. file1 and file2. file1.txt (There are no duplicates in this file) 1234 3232 4343 3435 6564 6767 1213 file2.txt 1234,wq,wewe,qwqw 1234,as,dfdf,dfdf 4343,asas,sdds,dsds 6767,asas,fdfd,fdffd I need to search each number in file1.txt in file2.txt's 1st... (6 Replies)
Discussion started by: Little
6 Replies

3. Shell Programming and Scripting

FASTEN count line of dat file and compare with the CTRL file

Hi All, I thinking on how to accelerate the speed on calculate the dat file against the number of records CTRL file. There are about 300 to 400 folder directories that contains both DAT and CTL files. DAT contain all the flat files records CTL is the reference check file for the... (3 Replies)
Discussion started by: ckwan
3 Replies

4. Shell Programming and Scripting

Compare 2 text file with 1 column in each file and write mismatch data to 3rd file

Hi, I need to compare 2 text files with around 60000 rows and 1 column. I need to compare these and write the mismatch data to 3rd file. File1 - file2 = file3 wc -l file1.txt 58112 wc -l file2.txt 55260 head -5 file1.txt 101214200123 101214700300 101250030067 101214100500... (10 Replies)
Discussion started by: Divya Nochiyil
10 Replies

5. 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

6. UNIX for Dummies Questions & Answers

Help with AWK - Compare a field in a file to lookup file and substitute if only a match

I have the below 2 files: 1) Third field from file1.txt should be compared to the first field of lookup.txt. 2) If match found then third field, file1.txt should be substituted with the second field from lookup.txt. 3)Else just print the line from file1.txt. File1.txt:... (4 Replies)
Discussion started by: venalla_shine
4 Replies

7. Shell Programming and Scripting

script to grep a pattern from file compare contents with another file and replace

Hi All, Need help on this I have 2 files one file file1 which has several entries as : define service{ hostgroup_name !host1,!host5,!host6,.* service_description check_nrpe } define service{ hostgroup_name !host2,!host4,!host6,.* service_description check_opt } another... (2 Replies)
Discussion started by: namitai
2 Replies

8. Shell Programming and Scripting

compare two files and make 1st file same as 2nd file

I am trying to compare two file and make changes where ever its different. for example: Contents of file1 IP=192.165.89.11 NM=255.255.0.0 GW=192.165.89.1 Contents of file2 IP=192.165.89.11 NM=255.255.255.255 GW=192.165.89.1 NOTE HERE THAT NM IS DIFFERENT So i want the changes... (6 Replies)
Discussion started by: pradeepreddy
6 Replies

9. Programming

compare XML/flat file with UNIX file system structure

Before i start doing something, I wanted to know whether the approach to compare XML file with UNIX file system structure. I have a pre-configured file(contains a list of paths to executables) and i need to check against the UNIX directory structure. what are the various approches should i use ? I... (6 Replies)
Discussion started by: shafi2all
6 Replies

10. Shell Programming and Scripting

Check File Exists and compare to previous day file script

We have data files that are ftp'd every morning to a SUN server. The file names are exactly the same except for that each has the date included in its name. I have to write script to do 2 things: STEP 1) Verify that the file arrived in morning. STEP 2) Compare the file size of the current... (3 Replies)
Discussion started by: rbknisely
3 Replies
Login or Register to Ask a Question