Current location: Hot Scripts Forums » General Community » Script Requests » help needed: Comparing two directory tree structures


help needed: Comparing two directory tree structures

Reply
  #1 (permalink)  
Old 10-27-05, 12:17 AM
Raj_thota Raj_thota is offline
New Member
 
Join Date: Oct 2005
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
help needed: Comparing two directory tree structures

Hi,
I am Rajesh. I am totally new to shell scripting. I have to prepare a shell script which comapres two directory tree structures ( directory contents comparision is not necessary).

for example, suppose I had installed a software system long back and now I want to upgrade that software but I dont want to disturb the tree stucture. So I had to check the directory tree structure of Updated software with the directory tree strucure of previous version software.

here is the code I am preparing for this problem..but I am not able to achieve my goal. So please, If anyone can review the code and point out where I am going wrong, I would be thankful to them.

the code is :
---------------------------------------------------------------------
#!/bin/bash
#
# compare: compare directory trees recursively and report the differences.
# Author: Rajesh thota

function gettype () {
if [ -d $1 ]; then
echo "directory"
else
echo "notdirectory"
fi
}

function exists () {
if [ -e $1 -o -L $1 ]; then
return 0;
else
echo "rajesh $1 does not exist."
return 1;
fi
}

function comparedirectory () {
local result=0
local v1=0
local v2=0
for i in `(ls -A $1 && ls -A $2) | sort | uniq`; do
# v1=$(gettype $1/$i)
# v2=$(gettype $2/$i)
# echo "$v1"
# echo "$v2"
# if [ ($v1 = "directory") && ($v2 = "directory") ]; then
compare $1/$i $2/$i || result=1
# fi
done
return $result
}

# compare directories
function compare () {
(exists $1 && exists $2) || return 1;
local type1=$(gettype $1)
local type2=$(gettype $2)

echo "$type1"
echo "$type2"

if [ $type1 = $type2 ]; then
comparedirectory $1 $2
else
echo "type mismatch: $type1 ($1) and $type2 ($2)."
false
fi
return
}

if [ 2 -ne $# ]; then
cat << EOU
Usage: $0 dir1 dir2
Compare directory trees:
directories are checked for identical tree stuctures

exit 10
fi
---------------------------------------------------------------------

Thanking you a lot

Regards
Rajesh
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Link exchange with web directory lovely Traffic Exchange 0 10-18-05 10:40 AM
Php/MySQL programmer needed for a hosts directory Gastongr Job Offers & Assistance 5 11-22-04 05:38 PM
Directory browsing script needed (UNIX) uxx Script Requests 0 10-21-04 09:56 AM
Need Epinions-lite system in PHP & MYSQL wali001 Job Offers & Assistance 4 01-12-04 06:02 AM


All times are GMT -5. The time now is 11:50 AM.
vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.