Compare 2 files, 2 lines at a time


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare 2 files, 2 lines at a time
Prev   Next
# 1  
Old 12-22-2010
Compare 2 files, 2 lines at a time

Hi Guys,
I want to find any differences between packages installed on 2 servers/zones.
I have 2 files that contain the output from pkginfo -x . I want to know if any packages exist only in one file and I want to also know about any packages that exist in both but with a different version.

ie:
If I have these 2 files.
Code:
file1:
SUNWzlib  The Zip compression library
          (sparc) 11.10.0,REV=2005.01.08.05.16
SUNWzoner  Solaris Zones (Root)
           (sparc) 11.10.0,REV=2005.01.21.15.53
SUNWzoneu  Solaris Zones (Usr)
           (sparc) 11.10.0,REV=2005.01.21.15.53
SUNWjfca  JNI Fibre Channel Adapter (FCA) Driver
          (sparc) 11.10.0,REV=2005.01.04.02.17

file2:
SUNWzoner  Solaris Zones (Root)
           (sparc) 11.10.0,REV=2005.01.21.15.53
SUNWzlib  The Zip compression library
          (sparc) 12.10.0,REV=2005.01.08.05.16
SUNWzoneu  Solaris Zones (Usr)
           (sparc) 11.10.0,REV=2005.01.21.15.53

I want the compare script to return this:
Code:
# compare file1 file2

Packages that exist only in file1:
SUNWzlib  The Zip compression library
          (sparc) 11.10.0,REV=2005.01.08.05.16

SUNWjfca  JNI Fibre Channel Adapter (FCA) Driver
          (sparc) 11.10.0,REV=2005.01.04.02.17

Packages that exist only in file2:
SUNWzlib  The Zip compression library
          (sparc) 12.10.0,REV=2005.01.08.05.16

Currently I have a script that identifies missing package, but not packages that exist on both servers, but with different versions.

SPARC platform running Solaris 10.
Tornado
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare lines between two files

I have two files I need to compare these two files and take the lines that are common in both the files and consider the line present in second file for my further processing I have used "Awk" along with "FNR and NR" but that is not working gawk -F= ' > FNR==NR {a=$1; next}; > ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

2. UNIX for Dummies Questions & Answers

Compare lines in 2 files

I have 2 files with exactly the same information (with header and separated by ";") and what I would like to do is print (for both files!) the columns that are different and also print the "key" column that is equal in the 2 files For example, if File1: key1;aaa;bbb;ccc key2;ddd;eee;fff... (4 Replies)
Discussion started by: mvalonso
4 Replies

3. Shell Programming and Scripting

Compare files by lines and columns

Inspired by the extremely short awk code from Ygor on this post I wanted to compare two files on only one field. I can't get it to work. Can anybody help on explaining the code and fix the code? My code which does not work: awk 'BEGIN{a=1};a!=1' file1.txt file2.txt >outfile.txt file1.txt... (1 Reply)
Discussion started by: sdf
1 Replies

4. Shell Programming and Scripting

compare date and time inside data of two files

i have two files with identical no of columns. 6th columns is date (MM/DD/YY format) and 7th columns is time (HH:MM:SS) format. I need to compare these two vaules and if the date & time is higher than fileA, save it on fileC; if the value is lower, then save it on fileD CONDITIONS... (7 Replies)
Discussion started by: ajiwww
7 Replies

5. Shell Programming and Scripting

time from 2 files to compare

In first file say first.txt, i have a content say 14:56. In second file, say second.txt i have content say 16:01.... I want to compare if these two times in these 2 files are having a difference of 15 minutes...Can any one please help? (2 Replies)
Discussion started by: manoj.b
2 Replies

6. Shell Programming and Scripting

compare two files and to remove the matching lines on both the files

I have two files and need to compare the two files and to remove the matching lines from both the files (4 Replies)
Discussion started by: shellscripter
4 Replies

7. Shell Programming and Scripting

compare files by lines and columns

Dear All, Is it possible to compare 2 files line to line using column values? for example I have file1: 1;givi;01012000;wer 2;sss;02012000;rrr 3;ccc;03012000;ttt file 2: 0;uuu;01012000;lll 1;givi;01012000;wer 2;sss;02012000;rrr 3;ccc;03012000;ttt 5;givi;01012000;hhh I want... (4 Replies)
Discussion started by: giviut
4 Replies

8. Shell Programming and Scripting

Trying to compare lines in 2 files

Hello, I am new to scripting and need some help. In looking at other posts on this forum, I came up with the following logic. I cannot figure out why I am getting names of files of the current directory in my echo output. Scenario: message file has a line containing the version. Version.txt... (2 Replies)
Discussion started by: brdholman
2 Replies

9. UNIX for Dummies Questions & Answers

compare update time of files

Hi, does anyone know of a way to compare files update time (not only days - also hours and minutes) (command? scripts? perl scripts?) Dori (8 Replies)
Discussion started by: dorilevy
8 Replies

10. UNIX for Dummies Questions & Answers

compare files acess time

I need to compare x file with y file. If x file is newer than y file do xxxx; (I used touch -t yymmddxxx to chnage the time for y file) How can i do that? I tried use if then echo "Xxx";; fi But cant....any other good ways to do it? (2 Replies)
Discussion started by: AkumaTay
2 Replies
Login or Register to Ask a Question
pkginfo(1)							   User Commands							pkginfo(1)

NAME
pkginfo - display software package information SYNOPSIS
pkginfo [-q | -x | -l] [-p | -i] [-r] [-a arch] [-v version] [-c category...] [pkginst...] pkginfo [-d device] [-R root_path] [-q | -x | -l] [-a arch] [-v version] [-c category...] [pkginst...] DESCRIPTION
pkginfo displays information about software packages that are installed on the system (with the first synopsis) or that reside on a par- ticular device or directory (with the second synopsis). Without options, pkginfo lists the primary category, package instance, and the names of all completely installed and partially installed packages. It displays one line for each package selected. OPTIONS
The -p and -i options are meaningless if used in conjunction with the -d option. The options -q, -x, and -l are mutually exclusive. -a arch Specify the architecture of the package as arch. -c category Display packages that match category. Categories are defined with the CATEGORY parameter in the pkginfo(4) file. If more than one category is supplied, the package needs to match only one category in the list. The match is not case specific. -d device Defines a device, device, on which the software resides. device can be an absolute directory pathname or the identifiers for tape, floppy disk, removable disk, and so forth. The special token spool may be used to indicate the default installa- tion spool directory (/var/spool/pkg). -i Display information for fully installed packages only. -l Specify long format, which includes all available information about the designated package(s). -p Display information for partially installed packages only. -q Do not list any information. Used from a program to check whether or not a package has been installed. -r List the installation base for relocatable packages. -R root_path Defines the full path name of a directory to use as the root_path. All files, including package system information files, are relocated to a directory tree starting in the specified root_path. -v version Specify the version of the package as version. The version is defined with the VERSION parameter in the pkginfo(4) file. All compatible versions can be requested by preceding the version name with a tilde (~). Multiple white spaces are replaced with a single white space during version comparison. -x Designate an extracted listing of package information. The listing contains the package abbreviation, package name, package architecture (if available) and package version (if available). OPERANDS
pkginst A package designation by its instance. An instance can be the package abbreviation or a specific instance (for example, inst.1 or inst.2). All instances of a package can be requested by inst.*. The asterisk character (*) is a special character to some shells and may need to be escaped. In the C-Shell, "*" must be surrounded by single quotes (') or preceded by a backslash (). EXIT STATUS
0 Successful completion. >0 An error occurred. FILES
/var/spool/pkg default installation spool directory ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
pkgtrans(1), pkgadd(1M), pkgask(1M), pkgchk(1M), pkgrm(1M), pkginfo(4), attributes(5) Application Packaging Developer's Guide SunOS 5.10 6 Nov 2000 pkginfo(1)