Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Function for comparing two files
- function compareFiles {
- if diff $1 $2 >/dev/null; then
- echo true
- else
- echo false
- fi
- }
- # Arguments check
- if [[ $# -lt 3 ]]; then
- echo "Usage: `basename $0` source_folder/ destination_folder/"
- exit 1
- fi
- # Source directory existence check
- if [[ ! -d $1 ]]; then
- echo "Source directory is not existing on the file system."
- exit 1
- fi
- # Destination directory existence check
- if [[ -d $2 ]]; then
- rm -r $2
- mkdir $2
- else
- mkdir $2
- fi
- # Variables
- files=()
- count=0
- # Listing the content from $1 (source) directory
- for file in `find $1 -type f`; do
- files[((count++))]=$file
- done
- # Iterating the memory stored files
- echo "" > $3
- for file in ${files[@]}; do
- filename=$(echo $file | sed 's/\//__/g')
- destination="${2}${filename}"
- cp $file $destination
- for copiedFile in `find $2 -type f`; do
- check=$(compareFiles $file $copiedFile)
- if [[ ${check} = true ]]; then
- echo "$file $copiedFile" >> $3
- fi
- done
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement