I'm trying to move the following move a large number of files that exist in the following structure to a /mnt/originals but I need to maintain the structure at the same time. I know cp would be a solution but can't use cp because of space limitations. /mnt/originals-us/4/mnt/originals.us/4/0b9/mnt/originals.us/4/0b8/mnt/originals.us/4/0b4/mnt/originals.us/4/0b3/mnt/originals.us/4/0b9/a62//mnt/originals.us/4/0b9/a47//mnt/originals.us/4/0b9/f0f//mnt/originals.us/4/0b9/a62/aa5/file16.png/mnt/originals.us/4/0b9/a62/ba1/file1.png/mnt/originals.us/4/0b9/a47/31f/file3.mov/mnt/originals.us/4/0b9/f0f/...Etc. It is a pretty large set of files of different file names and types. I tried the following but it didn't work.mv /mnt/originals-us/ /mnt/originals/ but get the followingmv: inter-device move failed: `/mnt/originals-us/10/0b9/' to `/mnt/originals/10/0b9'; unable to remove target: Is a directoryI also thought about writing a massively chanin-ed command but I don't think that would work either.This is what I have so far.find . -type f -print | rev | cut -d '/' -f1 | revThis obviously gives me all the filenames but how do I chain it with the first part? 
Moving large numbers of files and directories to a different directory
bash;shell script;rename;recursive
One option would be to use rsync with --remove-source-filesrsync -vr --remove-source-files /mnt/originals-us/ /mnt/originals/Potential caveat:  I do not know how rsync checks for space before performing potentially damaging actions.  In a perfect world, rsync would calculate how much space is needed, check to see if that is available, then abort and warn the user or (if the space is adequate) perform the operation.EDIT:  I omitted the recursion option (-r) by mistake, thanks to the OP for mentioning, now fixed