Hi,
Is there a way (either commands/tools/scripts/logic) to compare two given folders on different unix boxes. I want to compare folder a in Unix box 'A' with folder 'b' in Unix box 'B'. I can run the script in Unix box 'A'.
I am looking. for following results:
files/sub folders only in a... (1 Reply)
Hi,
I need to sync 2 remote folders so i setup with rsync which is working very fine. But, there comes another requirement to maintain multiple versions of files on destination (NOT to overwrite the destination file).
If there is difference between source file and destination file, it must... (0 Replies)
Hi,
I need to sync 2 remote folders so i setup with rsync which is working very fine. But, there comes another requirement to maintain multiple versions of files on destination (NOT to overwrite the destination file).
If there is difference between source file and destination file, it must... (2 Replies)
Hello,
I am using dircmp -d <folde1> <Folder2> to compare the files from two different foldes, but this command compares for all the files. Is there any option to select only some files for comparision. For example in
Folder1:
file1.txt
file2.txt
file3.txt
Folder2
file1.txt
file2.txt... (0 Replies)
Hi, I want to develop a script to replace missing folders from home directories. These may have been deleted by the user. A standard home directory will have these folders in it and nothing else:
Desktop, Documents, Downloads, Library, Movies, Music, Pictures, Public, Sites
I also want to... (3 Replies)
Hello,
I try to compare 2 folders, i explain, i have file in this 2 folder and i want to print out the difference in this folders...
ex: folder1: file1 file2 file3
folder2: file1 file2
print file3
I do a ls of the 2 folders and i use the command diff (diff $var1 $var2) without... (8 Replies)
Hi
I have 2 different folders on different machines. they are supposed to be same but some time for unknown reason they are not. then we have to generate a report for files which are not matching.
I was doing as below -
cd folder1
find . -type f | sort | cksum >1.txt
cd folder2
find .... (7 Replies)
i recently copied 400GB of data from a NTFS drive to a ext4 drive. I want to verify that the data is 100% identical to the original.
I wanted to use cmp but it only does two files. The directory that was copied contains many subdirectories and all sorts of files (not just text).
So I guess... (5 Replies)
Hi,
I am having two folders where i need to compare the content of files and also to know if any new files been added and redirect the difference output in respective filename logs. For e.g.:
Directory D1:
f1
f2
f3
Directory D2:
f1
f2
f3
f4
i Need to compare the directories... (25 Replies)
How do you compare one local folder and a remote folder and copy the difference to a third folder in a remote folder.e.g.
Folder A -- Is in a remote server and it has the following files
TEST1.OUT
TEST2.OUT
TEST3.OUT
Folder B --Is in a local server and it has the following files
... (5 Replies)
Discussion started by: cumeh1624
5 Replies
LEARN ABOUT MOJAVE
data::compare::plugins5.18
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)