Show the Difference between two files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Show the Difference between two files
# 1  
Old 03-11-2007
Show the Difference between two files

I have two files and I need to know the difference between each line. This will extend to thousand lines and manual works is really not really an option.
sample:

First File Second File
allan entry1 entry2 entry3 allan entry1 entry3
bob entry1 entry2 entry3 entry4 bob entry1 entry4

I want to output the difference only. Sample output:

allan entry2
bob entry2 entry3

I know that simple grep will not work here. UNIX is new to me and this is the only way i think this can be done.
# 2  
Old 03-12-2007
Hi,

First, I am not very clear about the way you explained the content of two files and the sample output.Very sorry abt that.

But you can do file comparison using "comm" or "diff" or "cmp" commands...

Thnx
Dennis
# 3  
Old 03-12-2007
Sorry about that. These are the files.

First File
allan entry1 entry2 entry3
bob entry1 entry2 entry3 entry4

Second File
allan entry1 entry3
bob entry1 entry4

Output:
allan entry2
bob entry2 entry3

Using diff and comm doesnt give me the result that I want. The result should only be the name and the the entry that cant be found on the second file. In my example, allan will have entry 2 since it is not on the second file.
# 4  
Old 03-12-2007
Are the two files guaranteed to have the same number of lines? So if a bob line is in one file it is also in the other? Are the records in the same sequence in both files?
# 5  
Old 03-12-2007
If you have Python and know the language, here's an alternative:
Code:
#!/usr/bin/python
for line in open("file2"):
    line = line.strip() #get rid of newlines
    name,entry = line.split(' ',1)
    for lin in open("file1"):
        lin = lin.strip()
        if lin.startswith(name):
                for e in entry.split():
                    lin = lin.replace(e , "")
                print "Output: ", lin

output:
Code:
/test # ./test.py
Output:  allan  entry2
Output:  bob  entry2 entry3

# 6  
Old 03-12-2007
Quote:
Originally Posted by Perderabo
Are the two files guaranteed to have the same number of lines? So if a bob line is in one file it is also in the other? Are the records in the same sequence in both files?

Yes, they have same number of lines and also on same sequece.

I dont have a python so I cant use the code given by ghostdog74.
# 7  
Old 03-12-2007
Code:
awk ' BEGIN { while ( getline < "first_file" ) { arr[$1]=$0; } }
{ for( i = 2 ; i <= NF ; ++i ) 
	sub($i,"",arr[$1])  
  gsub("  +"," ",arr[$1])
  print arr[$1] 
} ' second_file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Compare two files and show the mismatch columns

I need to compare two files and find the mismatch columns in it for csv and fixed width file. Eg: file1 c1,c2,c3,c4<----columnname 1,a,4,d 2,b,5,e 3,c,6,f file2 c1,c2,c3,c4<----columnname 3,x,7,f 2,y,8,e 1,z,9,d output c2,c3<---- mismatch columname a,4 x,7 b,5 or y,8 Ok with... (3 Replies)
Discussion started by: sabzR
3 Replies

2. UNIX for Dummies Questions & Answers

Show 'All Files' If all file can find.

fileset='APP11.txt APP12.txt SPACEDB11.txt WEB11.txt WEB12.txt' Hi there, Give the fileset, if I can use grep to find all the files. How do I show: All Servers: instead of APP11.txt: APP12.txt: SPACEDB11.txt: WEB11.txt: WEB12.txt: (6 Replies)
Discussion started by: alvinoo
6 Replies

3. UNIX for Dummies Questions & Answers

Is there any way to cat multiple files and show filenames?

Hi, Is there any way to do a cat * where it shows the name of each file in the process? Similar to what more does below? $ more ?.sql :::::::::::::: 1.sql :::::::::::::: set linesize 200 select db_unique_name, cast( from_tz( cast(... (5 Replies)
Discussion started by: newbie_01
5 Replies

4. Shell Programming and Scripting

Show difference between two number

Hi, I would like to show the difference between two numbers. For example. input.txt 1 7 2 10 0 0 6 7 I would like a third field showing the difference between the numbers as below: ouput.txt 1 7 6 2 10 8 0 0 0 6 7 1 How do I do this? (4 Replies)
Discussion started by: general_lee
4 Replies

5. Shell Programming and Scripting

Command to show unique strings in two files

how to display the unique strings in two files using shell script or commands. I tried diff and cmp but it shows the entire line, i need only the mismatched strings. File1: sat,sun,mon,tue rose,lilly,lotus white,red,blue,green,pink File2: sat,sun,mon,tue rose,sunflower,lotus... (4 Replies)
Discussion started by: Arun_Linux
4 Replies

6. Shell Programming and Scripting

compare 2 files and show count same content.

$ cat File1 Non HTTP response code:java.net.ConnectException225073X 000000005143329Load time: 402335410224 Non HTTP response code: ava.net.ConnectException206423X 000000005143330Load time: 402305687161 Non HTTP response code: ava.net.ConnectException290212X 000000005143331Load time:... (1 Reply)
Discussion started by: ooilinlove
1 Replies

7. UNIX for Dummies Questions & Answers

show all text files in directories and subdirectories

Hi! I am trying to find all text files in my home directory that contain the string "C-d" so I tyied this : cd ~ find . -type f -exec grep -l "C-d" {} + but it took very long so I tryed this : ls -aR | xargs file |grep text but it didn't descend in the directories and it said :... (3 Replies)
Discussion started by: kelamahim
3 Replies

8. Shell Programming and Scripting

Show the diff in two files using awk

Hi, How can i use AWK or any other commands to find the difference between 2 files. File A aaa bbb ccc 111 222 File B aaa ccc 111 Output bbb 222 (6 Replies)
Discussion started by: gambit97
6 Replies

9. Shell Programming and Scripting

Two files one file is dependent and it does not show an output

xxxxx (2 Replies)
Discussion started by: vinayrao
2 Replies

10. Shell Programming and Scripting

Want to show files on web page

hello Unix guru i want to show performance results on my internal website . We are manitaing the site through Wiki . I have to add new page in that . can someone help me to write shell script for that .. i want to display files datewise . my files names are starting with date . if... (3 Replies)
Discussion started by: deepa20
3 Replies
Login or Register to Ask a Question