X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Ffiles%2Fcompare_dirs.sh;h=65c4f63208412d179d8eeeec021b2561c74f69ec;hb=72cf2bcf98909d3819c844862522ed3315153e7f;hp=cb538205eed70edc33038525ea5fd26a02c0e3de;hpb=d47e6cd1f5e7d8a855c68ac19271c6673681cffa;p=feisty_meow.git diff --git a/scripts/files/compare_dirs.sh b/scripts/files/compare_dirs.sh index cb538205..65c4f632 100644 --- a/scripts/files/compare_dirs.sh +++ b/scripts/files/compare_dirs.sh @@ -20,56 +20,62 @@ if [ "$dir1" == "$dir2" ]; then exit 1 fi +source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" + out1="$(mktemp "$TMP/compare_dirs_output.XXXXXX")" out2="$(mktemp "$TMP/compare_dirs_output.XXXXXX")" +#hmmm: need error checking in here!!!! -#hmmm: need error checking here!!!! - - - - - +# host processing on first dir. if [[ $dir1 == *":"* ]]; then - # host processing on first dir. host1=${dir1%:*} dir1=${dir1#*:} -echo "got host1 as $host1" -echo "got new dir1 as $dir1" +#echo "got host1 as $host1 and new dir1 as $dir1" fi + +# host processing on second dir. if [[ $dir2 == *":"* ]]; then - # host processing on second dir. host2=${dir2%:*} dir2=${dir2#*:} -echo "got host2 as $host2" -echo "got new dir2 as $dir2" +#echo "got host2 as $host2 and new dir2 as $dir2" fi + if [ -z "$host1" ]; then # fully local compare location for first dir. pushd "$dir1" &>/dev/null + exit_on_error "compare_dirs: seeking directory $dir1" find . >"$out1" popd &>/dev/null else # remote compare location for first dir. ssh "$host1" "cd \"$dir1\" && find ." >"$out1" + exit_on_error "compare_dirs: listing remote directory $dir1" fi -# sort the output from that find. + +# sort the output from listing the first directory. sort "$out1" >"$out1".sort if [ -z "$host2" ]; then # fully local compare location for second dir. pushd "$dir2" &>/dev/null + exit_on_error "compare_dirs: seeking directory $dir2" find . >"$out2" popd &>/dev/null else # remote compare location for second dir. ssh "$host2" "cd \"$dir2\" && find ." >"$out2" + exit_on_error "compare_dirs: listing remote directory $dir2" fi + +# sort the output from listing the second directory. sort "$out2" >"$out2".sort +# compare the two sorted output files to show the missing files on each side. diff "$out1".sort "$out2".sort +# clean up our output files. rm "$out1" "$out1".sort "$out2" "$out2".sort