Difference output of files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Difference output of files
# 1  
Old 05-02-2014
Wrench Difference output of files

Need help on below req

Compare two files and send difference of file to other file


File2 is static which never changes

ex:

File1

Code:
A.txt
B.ttx
C.txt
E.txt


File2

Code:
A.txt
B.txt
C.txt
D.txt


Req:

i need to get two output files

1) File 2 has "D.txt" where File1 does not have "D.txt" then I should get "D.txt" to new files > file3.txt


2)In file1 E.txt is total new file I should get "E.txt" has output to new file > File4.txt

Last edited by Don Cragun; 05-02-2014 at 02:07 AM.. Reason: Add CODE tags.
# 2  
Old 05-02-2014
Hello,

Following commands may help you, also please always use code tags while posting commands and codes.

Code:
awk 'NR==FNR{a[$1]=$1;next} !($1 in a){print $1 > "File2_to_File1_differance"}' file1_details_check1211231 file_details_check12111232
awk 'NR==FNR{a[$1]=$1;next} !($1 in a){print $1 > "File1_to_File2_differance"}' file_details_check12111232 file1_details_check1211231

It will create File2_to_File1_differance and File1_to_File2_differance 2 output files for same. Where file1_details_check1211231 is file1 and file_details_check12111232 is file2.


Thanks,
R. Singh

Last edited by RavinderSingh13; 05-02-2014 at 02:18 AM..
# 3  
Old 05-02-2014
Diffrence

Thanks for reply

its not working!

file2_file1 diff -> getting out all value in file2, same as for file1_file1diff

our env is linux
# 4  
Old 05-02-2014
Sathish,

Could you please use the following commands and output files will have as follows.

Code:
awk 'NR==FNR{a[$1]=$1;next} !($1 in a){print $1 > "File2_to_File1_differance"}' file1_details_check1211231 file_details_check12111232
 
 cat File2_to_File1_differance
D.txt
 
awk 'NR==FNR{a[$1]=$1;next} !($1 in a){print $1 > "File1_to_File2_differance"}' file_details_check12111232 file1_details_check1211231
 
cat File1_to_File2_differance
E.txt

Also I am concendring in file 1 b.ttx is a typo. So I have taken it as b.txt.

Thanks,
R. Singh
# 5  
Old 05-02-2014
working fine!

Thanks
# 6  
Old 05-02-2014
Although I find your file names very strange (some with an upper case F, some with a lower case f, some ending with .txt, and some not having any filename extension), the following single awk command seems to do what you want:
Code:
awk '
FNR == NR {
	a[$1]
	next
}
{	if($1 in a)
		delete a[$1]
	else	print $1 > "file3.txt"
}
END {	for(i in a)
		print i > "File4.txt"
}' File1 File2

With File1 and File2 as specified in post #1 in this thread, it writes the following to file3.txt:
Code:
B.txt
D.txt

and writes the following to File4.txt:
Code:
B.ttx
E.txt

If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk.

Note that unlike RavinderSingh13's awk scripts, the order of output lines in File4.txt from the above script is random rather than in the order in which they appear in the input file. The output in file3.txt should be the same either way.
# 7  
Old 05-02-2014
Thanks for ur reply Don!

Its working
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to compare 2 files and prints difference as output sidebyside

Hi All, Am trying script to compare 2 files and print the difference found from old file to new file on line by line basis on side by side display. Basically line by line comparision and files may contain blank line as well I know we have compare/diff commands but i don't how to make... (10 Replies)
Discussion started by: Optimus81
10 Replies

2. Shell Programming and Scripting

Compare two text files and output difference

Hi experts, I am trying to compare two text files and output the difference to another file. I'm not strictly looking for differences in text but additional text at the end of one file that isn't in another, so basically comparing the file 2 against file 1 and printing any additional text to... (9 Replies)
Discussion started by: martin0852
9 Replies

3. Shell Programming and Scripting

Comparing text in 2 files and output difference in another file.

I have 2 files of almost same text apart from 2,3 ending lines. Now I want to get that difference in another file. e.g file1.txt is Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_livecd-lv_root 18G 2.4G 15G 14% / tmpfs 504M ... (12 Replies)
Discussion started by: kashif.live
12 Replies

4. Shell Programming and Scripting

Compare two files and output difference, by first field using awk.

It seems like a common task, but I haven't been able to find the solution. vitallog.txt 1310,John,Hancock 13211,Steven,Mills 122,Jane,Doe 138,Thoms,Doe 1500,Micheal,May vitalinfo.txt 12122,Jane,Thomas 122,Janes,Does 123,Paul,Kite **OUTPUT** vitalfiltered.txt 12122,Jane,Thomas... (2 Replies)
Discussion started by: charles33
2 Replies

5. Shell Programming and Scripting

How to combine 2 files and output the unique & difference?

Hi Guys, I have two input files and I want to combine them and get the unique values and differences and put them into one file. See below desired output file. Inputfile1: 1111111 2222222 3333333 7860068 7860069 7860071 7860072 Inputfile2: 4444444 (4 Replies)
Discussion started by: pinpe
4 Replies

6. Solaris

Difference in date output

HiCan anyone tell me why I am getting a difference in the date format on 2 different Solaris servers?On one I get: -Monday, 9 November 2009 09:02:45 GMTand the other: -Monday November 9 09:03:05 GMT 2009Both servers are running OS Version M-11/16/88iCan anyone tell me why one uses a "," and the... (5 Replies)
Discussion started by: steadyonabix
5 Replies

7. HP-UX

Difference in netstat -a and -an output.

Hi, Does anyone know why I get a different output when using "netstat -a" or "netstat -an" ?? # netstat -a | grep ts15r135 tcp 0 0 nbsol152.62736 ts15r135.23211 ESTABLISHED # netstat -an | grep 172.23.160.78 tcp 0 0 135.246.39.152.51954 ... (4 Replies)
Discussion started by: ejdv
4 Replies

8. UNIX for Dummies Questions & Answers

Compare Files and Output Difference

I have to compare two files for any differences, then output the lab and question number for any differences. This is what I currently have: diff lab2.txt lab2answer.txt > lab2compare.txt Though the output doesn't have to be sent to a .txt (or any sort of log), I found that easier, at least... (2 Replies)
Discussion started by: Joesgrrrl
2 Replies

9. UNIX for Dummies Questions & Answers

output difference in two files

Hi, Please help me, I have two files. I need to output the difference of contents of each file in another file. For example, I need to know the content of the file1 that does not exist on file2 and vice versa. Please take note that the size of the files are large. How can I do it using unix... (4 Replies)
Discussion started by: ayhanne
4 Replies

10. UNIX for Dummies Questions & Answers

How to output the difference of two files?

Hi, I had two data file (File1, File2), each one just have one column, but two file were very big. File2 is smaller, all its data included in File1. I want to ouput the result which don't have any data in File2. Could any one give me a help on how to do that? Thanks in advance! Yun ... (4 Replies)
Discussion started by: yxiao
4 Replies
Login or Register to Ask a Question