Рекурсивная замена пробелов на подчеркивания в именах файлов и каталогов

Материал из Linux Wiki
Версия от 06:28, 19 октября 2008; Rain (обсуждение | вклад) (Добавил про типы поиска)
Перейти к навигацииПерейти к поиску

Скрипт позволяющий рекурсивно заменять пробелы на подчеркивание.

С помощью утилиты find указываем директории в которых хотим работать, while осуществляет циклическое действие, mv переименовывает файлы, echo выводит файлы для работы sed, ну и, собственно, присходит замена.


find path1 path2 -type f | while read file
do
mv "${file}" "$(echo "${file}" | sed -re "s/ +/_/g")"
done

Для замены пробелов в именах каталогов сменить -type f на -type d, либо убрать вообще для замены как в именах файлов, так и каталогов.