если у вас Bash 4.0 и предполагается, что вы нашли текстовые файлы
cd /path
for file in ./**/*.txt
do
echo cp "$file" "/test_path/test${file}"
done
из с GNU найти
find /path -type f -iname "*.txt" | while read -r -d"" FILE
do
cp "$FILE" "test_${FILE}"
done
ИЛИ другая версия GNU find + bash
find /path -type f -name "*txt" -printf "cp '%p' '/tmp/test_%f'\n" | bash
ИЛИ этот уродливый, если у вас нет GNU find
$ find /path -name '*.txt' -type f -exec basename {} \; | xargs -I file echo cp /path/file /destination/test_file