Использование подоболочек с find
* Будет расширен вашей оболочкой до того, как find увидит, так что это неправильно - это может даже привести к потере данных. Вы не можете процитировать это, потому что тогда это не будет расширено вообще.
Что вам нужно, это подоболочка, которая получает папку в качестве аргумента, а затем выполняет расширение позже:
find . -type d -name '2016*' -exec sh -c 'mv -- "$0"/* /path/to/target/' {} \;
-- предотвращают файлы с запуском - от интерпретируются как mv вариантов, и вы должны экранируете имя папки в "$0"
Используя чистый Bash
Альтернативное использование рекурсивного сглаживания с помощью Bash ≥ 4.0:
shopt -s globstar
mv **/2016*/* /path/to/target/
Я предполагаю, что это намного чище, хотя это ломает слишком большое количество файлов.