Visit Our UNIX and Linux User Community


to find difference between two files

 
Thread Tools Search this Thread
Homework and Emergencies Emergency UNIX and Linux Support to find difference between two files
# 1  
Old 09-30-2009
Data to find difference between two files

I have a file which gets appended with records daily..for eg. 1st day of the month i get 9 records ,2nd day 9 records .....till the last day in the month...the no of records may vary...i store the previous days file in a variable oldfile=PATH/previousdaysfile....i store the current days file in a variable newfile=PATH/currentdayfile. i only want the records that is present only in the current days file...

i tried comm -23 $newfile $oldfile...but i am getting error.

Please help me out.

Smilie
# 2  
Old 09-30-2009
comm has some sorting requirements, did you try diff?
# 3  
Old 09-30-2009
Yeah, sorting them should help here. Also, make sure your oldfile and newfile dont have spaces or funny characters in the filename.
Code:
sort "$newfile" >"$newfile".sorted
sort "$newfile" >"$oldfile".sorted
comm -23 "$newfile".sorted "$oldfile".sorted

I think adding the -u (uniqify) parameter to the sort command makes sense here.
# 4  
Old 09-30-2009
If you know the number of records (you said they vary, but maybe the number is known somehow), then simply "tail" the last <n> records, where <n> is the number of records (i suppose records to be lines):

Code:
tail -<n> /path/to/newfile

If the records are multilined but with a fixed number of <x> lines for each record:

Code:
tail -$((<x>*<n>)) /path/to/newfile

If the records for the present day are not all stored already you still might still know the number of records from the beginning which you have to filter out, leaving the non-filtered records as new. Example: 3 records per day, today is the 10th day of the month. You will have to filter the first 9 days (meaning 9*3=27 lines) and everything left will be from today.

Code:
sed '1,'"$((<number_of_the_day-1>*<x>))"'d' /path/to/newfile

I hope this helps.

bakunin

Last edited by bakunin; 09-30-2009 at 11:13 AM..
# 5  
Old 09-30-2009
Quote:
Originally Posted by varontron
comm has some sorting requirements, did you try diff?
Looks like Smilie
# 6  
Old 09-30-2009
grep -v -f oldfile newfile
# 7  
Old 10-01-2009
Bug

$ comm -23 "$oldfile" "$newfile"

i am getting this error
comm: cannot open

---------- Post updated at 09:49 AM ---------- Previous update was at 09:34 AM ----------

Thank You guys for your valuable suggestions.
comm -23 "newfile" "oldfile" worked fine...
i made a small mistake in assigning the files to variables.That's why i was getting error.

Thanks once again!Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #698
Difficulty: Medium
"Homesteading the Noosphere" (abbreviated HtN) is an essay written by Eric S. Raymond about the social workings of proprietary, corporate software development.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find difference in content between two particular lines in two files

I have two files named Before.txt and After.txt: Now i want to find the difference in content between <Marker 1> and <Marker 2> in the two files. ---------- Post updated at 05:00 PM ---------- Previous update was at 04:50 PM ---------- Any help will be highly appreciated..:) (3 Replies)
Discussion started by: proactiveaditya
3 Replies

2. Homework & Coursework Questions

Script to find difference between 2 files by column

Hi , i am newbie to shell scripting and am trying to do the below job, A shell script to be run with a command like sh Compare.ksh file1.txt file2.txt 1 2 > file3.txt 1 2-are the key columns Consider the delimiter would be Tab or comma File 1: SK TEST NAME MATHS PHYSICS 21 1 AAA... (1 Reply)
Discussion started by: shakthi666
1 Replies

3. Shell Programming and Scripting

Script to find difference between 2 files by column

Hi , i am newbie to shell scripting and am trying to do the below job, A shell script to be run with a command like sh Compare.ksh file1.txt file2.txt 1 2 > file3.txt 1 2-are the key columns Consider the delimiter would be Tab or comma File 1: SK TEST NAME MATHS PHYSICS 21 1... (1 Reply)
Discussion started by: shakthi666
1 Replies

4. Shell Programming and Scripting

script to find whether the difference between two files in only additions but not modifications

i basically have 2 files and sdiff of the files is given below sdiff file1 file 2 control_file < path INDEX < size 613 < mode 0444 ... (1 Reply)
Discussion started by: under_cons
1 Replies

5. Shell Programming and Scripting

To find difference between two files on a whole

Hi, The requirement is to compare two files that has single column of records each. Comparison is to happen on a whole and not line by line. File1.txt 314589929 315611087 304924413 315989094 301171509 302984393 315609549 314593632 File2.txt 315611087 304924413 315989094 (2 Replies)
Discussion started by: anandek
2 Replies

6. UNIX for Advanced & Expert Users

Find difference between 2 files

I have 2 files as follows. file1.txt <cell>123</cell> <cell>345</cell> file2.txt <cell>123</cell> <cell>456</cell> out out should be output.txt <cell>456></cell> How do we achieve this> The difference betwenn the two files should be wirtten to the output file.. ... (2 Replies)
Discussion started by: kanthrajgowda
2 Replies

7. Shell Programming and Scripting

Find file size difference in two files using awk

Hi, Could anyone help me to solve this problem? I have two files "f1" and "f2" having 2 fields in each, a) file size and b) file name. The data are almost same in both the files except for few and new additional lines. Now, I have to find out and print the output as, the difference in the... (3 Replies)
Discussion started by: royalibrahim
3 Replies

8. UNIX for Dummies Questions & Answers

Find difference between two files

I have two files as below File1: a b c d File2: a b When i find the difference the output would be c&d.. How can i get my requirement...pls help... Many thanks in advance (10 Replies)
Discussion started by: jagadish_gaddam
10 Replies

9. Solaris

Need help to find difference between two files

I need to find the difference between two files in UNIX. I tried diff, but couldn't get it right. There are two files: file1: apple mango strawberry banana grape file2: grape apple banana I need an output file like below: ... (11 Replies)
Discussion started by: kisaad
11 Replies

10. UNIX for Dummies Questions & Answers

Find difference in two files

Hola, Tengo un texto texto1.txt con el siguiente contenido: Malaga Cadiz Sevilla Hola Y otro .txt texto2.txt con: Malaga Cadiz Sevilla Cordoba Huelva quiero obtener en otro .txt la diferencia entre estos dos archivos: (14 Replies)
Discussion started by: danietepa
14 Replies

Featured Tech Videos