#!/bin/sh # (c)2006 Matteo Lucarelli ############################################ # move files and directories tree even if # destination exists, possibly contentens are # merged, existing files in destination are # overwritten # usage: movedir SRC DESTDIR movedir(){ echo "movedir $1 $2" [ ! -e $1 ] && echo "$0: first arg doesn't exists" && exit 1 [ ! -d $2 ] && echo "$0: second arg must be a directory" && exit 1 if [ ! -e $2/`basename $1` ] || [ -f $1 -a -f $2/$1 ] ; then echo "mv -f $1 $2" mv -f $1 $2 else for ITEM in $1/* ; do [ $ITEM != "$1/*" ] && movedir $ITEM $2/`basename $1` done rm -rf $1 fi } # this only run the function movedir $1 $2