Используйте find с параметром exec , но сначала создайте целевую папку.
mkdir -p /home/somewhere/else
find /somewhere -iname "*.xxx"
Это перечислит все, что будет перемещено. Теперь, если вы уверены, что это файлы, которые вы хотите переместить, выполните следующее:
find /somewhere -iname "*.xxx" -exec mv '{}' /home/somewhere/else/ \;
В строке exec '{}' будет заменено фактическим именем файла, и оно будет перемещено к цели. Точно так же, чтобы скопировать, просто mv на cp . \; необходимо завершить команду.
Если вам нужно подтверждение перед каждой файловой операцией, которая перезаписывает уже существующий файл, вы можете добавить опцию -i после mv или cp соответственно.
Нет необходимости в grep , xargs и их лайках . Это излишне усложнит вещи.