Puede usar find y cpio para hacer esto
cd /top/level/to/copy
find . -name '*.txt' | cpio -pdm /path/to/destdir
(-updm for overwrite destination content.)
cd /source/path
find -type f -name \*.txt -exec install -D {} /dest/path/{} \;
Otro enfoque
find . -name '*.txt' -exec rsync -R {} path/to/dext \;