Power: вариант "поразительно похоже на вариант от Scorpi" обломится со скрытыми файлами.
плюс он расчитан на запуск только из той же директории где и файлы.
только это никакого рояля не играет: задача в общем виде решена.
Николай Павлов: ну тут и вы не праы, у файнда есть некий казус с exec а именно работа с 1 аргуменом в цикле. И у него есть вуой плюс и минус. Плс в том что он валидно работаетс именами типа "Вася пупкин" посколкьу xargs разобьети их на васю и пупкина, но зато при больших масивах xargs может забивать аргументы под максимум таким образом увеличивая скорость работы раз в 300.
да и вы забыли точку с запятой find. -type "txt" -exec comand {} \;
ShamblerR: Для начала, я ничего не понял не понял из вашего комментария. Исправьте все ошибки.
Ну и не всегде нужна точка с запятой. Пример: "find . -exec mv -t ../test/ {} \+"
Если рассматривать точный вариант, я бы написал примерно так " find . -type f | sed -e "p;s/txt/doc/" | xargs -n2 mv" если знать что на что переименовывать. Естественно xargs быстрее отработает. Вариантов куча, можно даже вместо sed+mv юзать сразу rename/#.