On Fri May 10 08:36:50 2024 Walter Alejandro Iglesias wrote > Then I do something like this (simplified for clartiy): > > [...] > > dirs=$(echo "$files" | grep '/$') > > for i in $dirs ; do > find $source/$i | sed 's#'$source'##' | sort | uniq > $source_list > find $target/$i | sed 's#'$target'##' | sort | uniq > $target_list > diff $source_list $target_list |\ > awk '/^> / { print "'$target'" $NF }' >> $delete_list > done > > cat $delete_list | sed 's/^/delete /' > rm -rf $(cat $delete_list | xargs) > > rm $source_list $target_list $delete_list > ------------------------------------------------ >
Today I realized that the loop above is not necesary: ----------------------------------------------------------- dirs=$(echo "$files" | grep '/$') cd && find $dirs | sort | uniq > $source_list cd $target && find $dirs | sort | uniq > $target_list diff $source_list $target_list |\ awk '/^> / { print "'$target'/" $NF }' > $delete_list cat $delete_list | sed 's/^/delete /' rm -rf $(cat $delete_list | xargs) # Clean rm $source_list $target_list $delete_list ----------------------------------------------------------------