Вообщем нужно в папке catalog которая в свою очередь содержит множество других папок, найти все файлы с именем file.ext переименовать в refile2.ext
for file in $(find /catalog -type f -name 'file.ext'); do mv "$file" "$(echo $file|sed 's/file.ext/refile2.ext/')"; done
San_Tehnik писал:
И еще... В этой же папке и вложенным в нее нужно пройтись по всемфайлам с расширением html и заменить в них текст test.html на first.html.
find /catalog -type f -name '*.html' -exec sed -i 's/test.html/first.html/g' "{}" \;
/catalog - имя твоей папки. Остальное, надеюсь, понятно.
Все операции отрабатываются рекурсивно (изменения затронут все вложенные папки), как ты и просил. Пользуйся на здоровье