Sponsored Content
Top Forums Shell Programming and Scripting Compare File Differences in different directories Post 302393447 by dmaday on Monday 8th of February 2010 10:02:31 PM
Old 02-08-2010
Compare File Differences in different directories

Hello,

I am new to scripting and have been trying to compare two different directories, but with all the same file names in each directory for file changes. I have been doing it in baby steps and have been doing pretty good, but I have hit a few snags. Test 1 and Test 2 work great, but my ultimate end goal is for each file to have a "difference" file instead of one "difference" file. Also, I am using cygwin to do this. I am comparing two identical websites for changes in code.

Test 1 - Works great.
Code:
diff -r "www.website/intranet" "website_2/intranet" | grep -i | tee FileDetailDiff

Test 2 - Works great.
Code:
diff -r -q "www.website/intranet" "website_2/intranet" | tee FileNameDiff

My last step / tutorial for me is to loop through all the files and this is where i keep getting errors.
This does not work. I figure once i get this working i can add the code in to check for file differences.
Code:
#!/bin/sh
find . -type f|grep .asp$ | while read file
do
   echo "$file"
done

here is the error i am getting:
Code:
$ sh textdiff4.sh
textdiff4.sh: line 5: syntax error near unexpected token `done'
textdiff4.sh: line 5: `done'

For the life of me i cannot figure out what is wrong. Any help would be appreciated.

Thanks for taking the time to read this.

Last edited by Scott; 02-09-2010 at 03:22 AM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

du -s -k differences between two identical directories

I tarred a directory from a linux server to a solaris server. When I do a du -s -k on the directory, I get almost 150k difference in the file sizes. If I do a ls | wc -l, it is the same. If I look at the size of the individual files, it is the same. I did an ls on the 2 directories and... (6 Replies)
Discussion started by: csgonan
6 Replies

2. Shell Programming and Scripting

Compare File Names in Different Directories...

I do not know much about shell scripting and need to create a script and I am at a loss. If someone can help me, that would be great!! I have two directories: /dir1 /dir2 I need to get the sequence number which is part of the filename in /dir1 and delete all files in /dir2 that are... (4 Replies)
Discussion started by: stky13
4 Replies

3. Shell Programming and Scripting

Compare two text files and Only show the differences

Hi experts, I'mvery new to shell scripting and learning it now currently i am having a problem which may look easy to u :) i have two files File 1: Start :Thu Nov 19 10:33:09 2009 ABCDGFSDJ.txt APDemoNew.ppt APDemoOutline.doc ARDemoNew.ppt ARDemoOutline.doc File 2: Start... (10 Replies)
Discussion started by: CelvinSaran
10 Replies

4. HP-UX

Compare 2 systems to find any differences

Hi there, I have 2 machines running HP-UX. One off these controllers is able to send mail and the other cannot. I have looked at all the settings that I know and coannot find any differences. Is there a way to audit the 2 machinces by pulling all the settings then compare any differences? ... (2 Replies)
Discussion started by: lodey
2 Replies

5. Shell Programming and Scripting

Differences between 2 directories

Hi, I am trying to write a script under ksh to list all the differences between two directories. For example: # ls test1 test2 I need to compare all the files under between test1 & test2. When I do diff, it only compares the diectoires but it doesn't check inside. I did do... (3 Replies)
Discussion started by: samnyc
3 Replies

6. UNIX for Dummies Questions & Answers

Compare and merging the differences in text file

Hi i have gone through some sdiff command it shows the differences side by side and its really awesome file 1: this tool is for checking the differ merging with flower pots documentation file 2: this t ool is for checking the differ mergin g with flower pots documentation ... (27 Replies)
Discussion started by: rakeshkumar
27 Replies

7. Shell Programming and Scripting

Need to compare the two files and list out differences between the two

Hi, I need to compare the two files and list out difference between the two. Please assist. Best regards, Vishal (2 Replies)
Discussion started by: Vishal_dba
2 Replies

8. Shell Programming and Scripting

Compare two big files for differences using Linux

Hello everybody Looking for help in comparing two files in Linux(files are big 800MB each). Example:- File1 has below data $ cat file1 5,6,3 2.1.4 1,1,1 8,9,1 File2 has below data $ cat file2 5,6,3 8,9,8 1,2,1 2,1,4 (1 Reply)
Discussion started by: shanul karim
1 Replies

9. UNIX for Beginners Questions & Answers

Compare two big files for differences using Linux

Hello everybody Looking for help in comparing two files in Linux(files are big 800MB each). Example:- File1 has below data $ cat file1 5,6,3 2.1.4 1,1,1 8,9,1 File2 has below data $ cat file2 5,6,3 8,9,8 1,2,1 2,1,4 (8 Replies)
Discussion started by: shanul karim
8 Replies

10. Shell Programming and Scripting

Compare directories and copy differences (files) in a another directory

Hey im working on script that can compare 2 directory and check difference, then copy difference files in third diretory. here is the story: in folder one we have 12 subfolder and in each of them near 500 images hosted. 01 02 03 04 05 06 07 08 09 10 11 12 in folder 2 we have same subfolder... (2 Replies)
Discussion started by: nimafire
2 Replies
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)
All times are GMT -4. The time now is 12:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy