find . ! -type d -print | grep -i -E "PATTERN" | rsync -nhaPvv --files-from=- --exclude="*/" --no-implied-dirs . DESTINATION
find
! -type d: exclude directories from results-print: output to stdin
grep
-i: match case-insensitive-E: extended regular expressions
rsync
-n: dry run-h: output number shuman readable-a: preserve timestamps and stuff-P: show transfer progress-vvv: the morev, the more verbose--files-from=-: execute on each piped result--exclude="*/": exclude directories--no-implied-dirs: and exclude implizit dirs--remove-source-files: remove source files after tranfser (move instead of copy)