Comparing two files issue.


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
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  
Code:
awk '/^#/ {next} FNR==NR {prod[$0];next} !($0 in prod)' prod.properties back.properties

# 3  
How come that boot_time=ON is in your desired output? It shouldn't be there according to your spec.
# 4  
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  
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  
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 10:27 AM..
# 7  
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 for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #676
Difficulty: Medium
The first version of the 802.11 protocol was released in 1997, and provided up to 12 MB/s link speeds.
True or False?

10 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

Comparing Files

Hello all. Quick question. I have to compare these 2 files and display the lines of one file that match a column in another file. So I have 2 files both contain 3 fields. I want to compare the first field from the first file to the second file. If there is a match I want to display the... (5 Replies)
Discussion started by: Introuble99
5 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

Comparing two files

Hi, any suggestions to make an script doing the next steps? 1.- compare two files. 2.- generate and exit file per every difference found. 3.- every exit file must be named with the difference found and its content must be "1". We are beginners in shell scripting and any help... (2 Replies)
Discussion started by: emilnet
2 Replies

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

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

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

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

Featured Tech Videos