вот от этого можно отталкиваться (на свежем bash точно работает):
list=`find /var/log -type f`; file=`echo "$list"|sed $((RANDOM%\`echo "$list"|wc -l\`))\!d`; echo mv "$file" /where/to/move
/var/log в данном примере это "папка в которой много файлов", /where/to/move - это "другая папка" в вашей терминологии
пример работы:
$ list=`find /var/log -type f`; file=`echo "$list"|sed $((RANDOM%\`echo "$list"|wc -l\`))\!d`; echo mv "$file" /where/to/move
mv /var/log/auth.log.2.bz2 /where/to/move
$ list=`find /var/log -type f`; file=`echo "$list"|sed $((RANDOM%\`echo "$list"|wc -l\`))\!d`; echo mv "$file" /where/to/move
mv /var/log/utx.lastlogin /where/to/move
$ list=`find /var/log -type f`; file=`echo "$list"|sed $((RANDOM%\`echo "$list"|wc -l\`))\!d`; echo mv "$file" /where/to/move
mv /var/log/sendmail.st.6 /where/to/move
$
для того, чтоб этот набор команд начал работать уберите echo перед mv (с echo это можно назвать тестовым вариантом)
при внесении данного скрипта в crontab возможно потребудется указать полные пути к бинарникам