10-13-2005
Compare Data in the same file
Dear Unix-Gurus,
I'm trying to write a script to compare the data in a log file. Here's how my logfile will look like:
'List All A0 Data in Destination Server'
A0567
A0678
A0789
List A0 Files in Source Server
A0567
A0678
A0789
So if the file match in Source Server match Destination Server, I will issue a rm command to remove the file fromthe Source Server.
I have included a nawk command in my script which is something like this:
nawk '/^A0/' test.log > A0_Output.log
and it gives me the following output:
more A0_Output.log
A0567
A0678
A0789
A0567
A0678
A0789
So how can I compare the data inside A0_output.log? I'm kinda lost now...
Anyone can provide me with some solutions please?
Thanks.
lweegp
Last edited by lweegp; 10-13-2005 at 03:45 AM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi there,
I have written a script called "compare" (see below) to make comparison between 2 files namely test_put.log and Output_A0.log
#!/bin/ksh
while read file
do
found="no"
while read line
do
echo $line | grep $file > /dev/null
if
then
echo $file found
found="yes"
break
fi... (3 Replies)
Discussion started by: lweegp
3 Replies
2. Shell Programming and Scripting
Below is the data content of file_1 and file_2:
file_1
>sample_1
FKGJGPOPOPOQA
ASDADWEEWERE
ASDAWEWQWRW
ASDASDASDASDD
file_2
>sample_1
DRTOWPFPOPOQA
ASDADWEEASDF
ASDADRTYWRW
ASDASDASDASDD
I got try the following perl script. Unfortunately, it can't give my desired output result... (7 Replies)
Discussion started by: patrick87
7 Replies
3. Shell Programming and Scripting
hello ....i am new in shell script..I have one shell script which read inputs from file...and second is c++ pgm..i call my script from c++ programm..to compare file values to c++ pgm value..
our shell script is shubhi.sh
#! /bin/sh
while read line
do
echo -e"$line"
done<file1
this script... (1 Reply)
Discussion started by: shubhig15
1 Replies
4. Shell Programming and Scripting
my script so far
nawk -F, 'NR==FNR{a++;next} a{b++}
END{for(i in b){if(b-1){print i";\t\t"b}else{print "NEW:"i";\t\t1"} } }' OFS=, 20111228.csv *.csv | sort
NE:221478,SHELF:13,SLOT:4; 2
NE:221726,SHELF:8,SLOT:1; 2
NE:222318,SHELF:14,SLOT:1; 9... (20 Replies)
Discussion started by: llcooljatt
20 Replies
5. Shell Programming and Scripting
I have 2 files whose data's are as follows :
fileA
00 lieferungen
00 attractiop
01 done
02 forness
03 rasp
04 alwaysisng
04 funny
05 done1
fileB
alwayssng
dkhf
fdgdfg
dfgdg
sdjkgkdfjg
funny
rasp (7 Replies)
Discussion started by: rajniman
7 Replies
6. Shell Programming and Scripting
Hi,
I need to compare 2 text files with around 60000 rows and 1 column. I need to compare these and write the mismatch data to 3rd file.
File1 - file2 = file3
wc -l file1.txt
58112
wc -l file2.txt
55260
head -5 file1.txt
101214200123
101214700300
101250030067
101214100500... (10 Replies)
Discussion started by: Divya Nochiyil
10 Replies
7. Shell Programming and Scripting
Hi Guys,
I wanted to compare a delimited file and positional file, for a particular key files and if it matches then append the positional file with some data.
Example:
Delimited File
--------------
Byer;Amy;NONE1;A5218257;E5218257
Byer;Amy;NONE1;A5218260;E5218260
Positional File... (3 Replies)
Discussion started by: Ajay Venkatesan
3 Replies
8. Shell Programming and Scripting
Hi
How to compare the source definition file in unix with the data file .
Please can you share me example if some one has done it before (3 Replies)
Discussion started by: Raj4fusion
3 Replies
9. Shell Programming and Scripting
Gents,
Please can you help with this.
I have a big file (file2) which contends many records increment every 25 rows ( column 1 ).
Then I have other file as reference (file1).. column 1 to 11.
I want to compare that all values in file2 (column 2 to 12.) match with values in... (2 Replies)
Discussion started by: jiam912
2 Replies
10. Shell Programming and Scripting
file2 content
f1file2 content
f1,1,2,3,4,5
f1,2,4,6,8,10
f10,1,2,3,4,5
f10,2,4,6,8,10
f5,1,2,3,4,5
f5,2,4,6,8,10awk 'FNR==NR{a;next}; !($1 in a)' file2 file1output
f10,1,2,3,4,5
f10,2,4,6,8,10
f5,1,2,3,4,5
f5,2,4,6,8,10awk 'FNR==NR{a;next}; ($1 in a)' file2 file1output
nothing... (4 Replies)
Discussion started by: gksenthilkumar
4 Replies
LEARN ABOUT MOJAVE
data::compare::plugins
Data::Compare::Plugins(3) User Contributed Perl Documentation Data::Compare::Plugins(3)
NAME
Data::Compare::Plugins - how to extend Data::Compare
DESCRIPTION
Data::Compare natively handles several built-in data types - scalars, references to scalars, references to arrays, references to hashes,
references to subroutines, compiled regular expressions, and globs. For objects, it tries to Do The Right Thing and compares the
underlying data type. However, this is not always what you want. This is especially true if you have complex objects which overload
stringification and/or numification.
Hence we allow for plugins.
FINDING PLUGINS
Data::Compare will try to load any module installed on your system under the various @INC/Data/Compare/Plugins/ directories. If there is a
problem loading any of them, an appropriate warning will be issued.
Because of how we find plugins, no plugins are available when running in "taint" mode.
WRITING PLUGINS
Internally, plugins are "require"d into Data::Compare. This means that they need to evaluate to true. We make use of that true value.
Where normally you just put:
1;
at the end of an included file, you should instead ensure that you return a reference to an array. This is treated as being true so
satisfies perl, and is a damned sight more useful.
Inside that array should be either a description of what this plugin is to do, or references to several arrays containing such
descriptions. A description consists of two or three items. First a string telling us what the first data-type handled by your plugin is.
Second, (and optional, defaulting to the same as the first) the second data-type to compare. To handle comparisons to ordinary scalars,
give the empty string for the data-type, ie:
['MyType', '', sub { ...}]
Third and last, we need a reference to the subroutine which does the comparison. That subroutine should expect to take two parameters,
which will be of the specified type. It should return 1 if they compare the same, or 0 if they compare different.
Be aware that while you might give a description like:
['Type1', 'Type2', sub { ... }]
this will handle both comparing Type1 to Type2, and comparing Type2 to Type1. ie, comparison is commutative.
If you want to use Data::Compare's own comparison function from within your handler (to, for example, compare a data structure that you
have stored somewhere in your object) then you will need to call it as Data::Compare::Compare. However, you must be careful to avoid
infinite recursion by calling D::C::Compare which in turn calls back to your handler.
The name of your plugins does not matter, only that it lives in one of those directories. Of course, giving it a sensible name means that
the usual installation mechanisms will put it in the right place, and meaningful names will make it easier to debug your code.
For an example, look at the plugin that handles Scalar::Properties objects, which is distributed with Data::Compare.
DISTRIBUTION
Provided that the above rules are followed I see no reason for you to not upload your plugin to the CPAN yourself. You will need to make
Data::Compare a pre-requisite, so that the CPAN.pm installer does the right thing.
Alternatively, if you would prefer me to roll your plugin in with the Data::Compare distribution, I'd be happy to do so provided that the
code is clear and well-commented, and that you include tests and documentation.
SEE ALSO
Data::Compare
Data::Compare::Plugins::Scalar::Properties
AUTHOR
Copyright (c) 2004 David Cantrell <david@cantrell.org.uk>. All rights reserved. This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
perl v5.18.2 2011-07-23 Data::Compare::Plugins(3)