Вы на Linux?Исторически сложилось, что cpio
был бы очевидным выбором, но в наши дни rsync, вероятно, будет лучше:
find . -iregex ".*HeadersConstants\.java" |\
rsync -v --files-from=- ./ ${destination}/
Вероятно, не очень хорошая идея, чтобы пункт назначения находился внутри .
, как подсказывает код вашего вопросано мы можем прекратить поискать там:
find . -path ./destination -prune \
-o -iregex ".*HeadersConstants\.java" -print |\
rsync -v --file-from=- ./ ./destination/
(Вы можете выяснить, почему требуется -print
.)