Comparing two files issue.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Comparing two files issue.
# 1  
Old 05-23-2014
Comparing two files issue.

more prod.properties

Code:
# remote connection details
cdr_url=http://myprod.col.net:1890/service
cdr_user=user1
cdr_pswd=pass11
boot_time=ON

more back.properties

Code:
cdr_url=http://myback.col.net:1890/service
cdr_user=user1
cdr_pswd=pass11
storage=file

I need to compare the back.properties with the prod.properties and highlight only those entries in the back.properties that are missing v/s the prod.properties & those that do not match while ignoring the comments delimiter "#" from both comparing files.

Desired output:

Code:
cdr_url=http://myback.col.net:1890/service
boot_time=ON
storage=file

I dont like the output of the diff command and i want an output like the above.
# 2  
Old 05-23-2014
Code:
awk '/^#/ {next} FNR==NR {prod[$0];next} !($0 in prod)' prod.properties back.properties

# 3  
Old 05-24-2014
How come that boot_time=ON is in your desired output? It shouldn't be there according to your spec.
# 4  
Old 05-26-2014
Debian

Quote:
Originally Posted by RudiC
How come that boot_time=ON is in your desired output? It shouldn't be there according to your spec.
Becoz boot_time=ON is present in the prod.properties and the team "may have" missed mentioning it in the back.properties and hence it too needs to be in the output for us to realize.

So, i need anything extra storage=file, anything missing boot_time=ON, anything different cdr_url=http://myback.col.net:1890/service from the back.properties v/s the prod.properties. I hope you can help me now ??
# 5  
Old 05-26-2014
If the order of the output doesn't matter, this snippet might work:
Code:
awk '/^#/ {next} NR==FNR {prod[$0]=$0;next} {if ($0 in prod) { delete prod[$0] } else {print }}; END {for (i in prod) print prod[i]}' prod.properties back.properties

# 6  
Old 05-26-2014
I DO NOT have the bash profile !!

I tried both the suggestion on my windows unix cygwin but the command does not yield any result.
Code:
awk '/^#/ {next} NR==FNR {app_prd[$0]=$0;next} {if ($0 in app_prd) { delete app_prd[$0] } else {print }}; END {for (i in app_prd) print app_prd[i]}' app_prd.properties app_dr.properties

awk '/^#/ {next} FNR==NR {app_prd[$0];next} !($0 in app_prd)' app_prd.properties  app_dr.properties

$ uname -a
CYGWIN_NT-6.1-WOW64 IUCLP01858 1.7.29(0.272/5/3) 2014-04-07 13:44 i686 Cygwin

The filenames i am trying to compare are app_prd.properties and app_dr.properties.

While on my unix the command fails with the below output.

Code:
$ awk '/^#/ {next} NR==FNR {app_prd[$0]=$0;next} {if ($0 in app_prd) { delete app_prd[$0] } else {print }}; END {for (i in app_prd) print app_prd[i]}' app_prd.properties app_dr.properties
awk: syntax error near line 1
awk: illegal statement near line 1
awk: bailing out near line 1

$ awk '/^#/ {next} FNR==NR {app_prd[$0];next} !($0 in app_prd)' app_prd.properties  app_dr.properties
awk: syntax error near line 1
awk: bailing out near line 1

 uname -a
SunOS mymac 5.10 Generic_150400-09 sun4v sparc SUNW,SPARC-Enterprise-T5220

Can you help fix ?

Last edited by mohtashims; 05-26-2014 at 09:27 AM..
# 7  
Old 05-26-2014
As Don says always,

Quote:
If you want to try this on a Solaris/SunOS system, change awk at the start of this script to /usr/xpg4/bin/awk ,/usr/xpg6/bin/awk , or nawk
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Comparing two files and list the difference with common first line content of both files

I have two file as given below which shows the ACL permissions of each file. I need to compare the source file with target file and list down the difference as specified below in required output. Can someone help me on this ? Source File ************* # file: /local/test_1 # owner: own #... (4 Replies)
Discussion started by: sarathy_a35
4 Replies

2. Shell Programming and Scripting

Comparing files in a directory against an array of files

I hope I can explain this correctly. I am using Bash-4.2 for my shell. I have a group of file names held in an array. I want to compare the names in this array against the names of files currently present in a directory. If the file does not exist in the directory, that is not a problem.... (5 Replies)
Discussion started by: BudMan
5 Replies

3. UNIX for Advanced & Expert Users

How to find duplicates contents in a files by comparing other files?

Hi Guys , we have one directory ...in that directory all files will be set on each day.. files must have header ,contents ,footer.. i wants to compare the header,contents,footer ..if its same means display an error message as 'files contents same' (7 Replies)
Discussion started by: Venkatesh1
7 Replies

4. UNIX for Dummies Questions & Answers

Comparing two files issue

Hi all, I need your help fixing an issue with this code. I am a newbie to UNIX programming and there is an issue with this code I am hoping you can help me correct. I have two files (system_files with 8342 records and rules1.txt file with 762 records). My understanding from the script below, is... (2 Replies)
Discussion started by: Mustafa19804
2 Replies

5. Shell Programming and Scripting

Comparing the matches in two files using awk when both files have their own field separators

I've two files with data like below: file1.txt: AAA,Apples,123 BBB,Bananas,124 CCC,Carrot,125 file2.txt: Store1|AAA|123|11 Store2|BBB|124|23 Store3|CCC|125|57 Store4|DDD|126|38 So,the field separator in file1.txt is a comma and in file2.txt,it is | Now,the output should be... (2 Replies)
Discussion started by: asyed
2 Replies

6. Shell Programming and Scripting

awk script issue : comparing two files with a pattern

File 1 ################################################################# pma.zcal.iop_pma_zcal_cntl (2710.080 115.200) pma.lanea23.rx0.cntl (696.960 844.800) pma.lanea67.rx0.cntl (1733.760 844.800) pma.zcal.iop_pma_zcal_cust (2280.960 115.200)... (1 Reply)
Discussion started by: jaita
1 Replies

7. Shell Programming and Scripting

Need help comparing two files and deleting some things in those files!

So I have two files: File1 pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2 pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2 ref4948 1.1 treehouse.txt 1.6 ref8573 1.5 ref3284 1.4 ref5838... (24 Replies)
Discussion started by: linuxkid
24 Replies

8. Shell Programming and Scripting

Issue in comparing (cmp) two files

Hi All, I have to compare set of files so I created a case statement with the option to give more than one file to compare. The Problem now i am facing is, if I compare the files directly, from prompt or just using the script only for a particular file then It's saying No difference, but If I... (4 Replies)
Discussion started by: Sudhar
4 Replies

9. Shell Programming and Scripting

Comparing Two files

Hi Guru's I have a hosts file which has around 1000 entries. I have been asked to change around 500 of the entries. The entries are in a file called hosts.new. I tried using the diff command to get the uncommon one's. But the output was very confusing. Would appreciate if you can help me out.... (12 Replies)
Discussion started by: efunds
12 Replies

10. UNIX for Advanced & Expert Users

comparing shadow files with real files

Hi I need to compare shadow file sizes with their real file counterparts. If the shadow file size differs form the realfile size then it must send a mail. My problem is that our system has over 1600 shadowfiles in different directories, with different names. the only consistancy is the .sh file... (4 Replies)
Discussion started by: terrym
4 Replies
Login or Register to Ask a Question