I need to write a script that will check a directory for a given file type, say *.mov, and move up to, say, 50GB worth into another directory. The purpose being that we have a huge bunch of files that need to go through another automated system, but sending terabytes through at one time will cause a whole bunch of other processes to break.

Is there a way to restrict ```find``` to displaying up to a given total size? If so, I could easily ```find /path/to -iname "*.mov" [halt at 50GB] -exec mv {} /path/to \;``` 

Or does anyone have any other suggestions as to how I can automate this? I suppose I could write a loop that added the size to a variable and halted if the variable got to a certain size, like (I'll worry about the syntax of the filesize test later):


 TOTALSIZE=0
 for x in /path/to/*.mov
 do (print file size > $filesize) && TOTALSIZE=`expr $TOTALSIZE + $filesize`
 if [ $TOTALSIZE > 50000000 ]
 then exit 0
 else mv $x /destination
 done

Would that work?