Задача: изменить расширение у всех соответствующих файлов в текущей папке и всех подпапках.
Изменяем расширение с .alaw на .ulaw:

for f in `find . -type f -iname '*.alaw'`; do mv "$f" "`dirname "$f"`"/"`basename "$f" .alaw`"".ulaw"; done;

Немного разберу:
выбираем в массив f все файлы оканчивающиеся на '*.alaw' без учёта регистра:

for f in `find . -type f -iname '*.alaw'`

с каждым элементом массива f выполняем действия:

do mv "$f" "`dirname "$f"`"/"`basename "$f" .alaw`"".ulaw";

dirname «$f» — извлекаем путь к файлу.
basename «$f» .alaw — извлекаем базовое имя исходя из расширения .alaw.

Матерьял с сайта TangaRUS

Anti-Spam Protection by WP-SpamFree