Рекурсивная замена пробелов на подчеркивания в именах файлов и каталогов: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Andor (обсуждение | вклад) |
|||
Строка 7: | Строка 7: | ||
find path1 path2 -type f -name '* *' | while read file | find path1 path2 -type f -name '* *' | while read file | ||
do | do | ||
mv "${file}" | mv -- "${file}" "${file// /_}" | ||
done | done | ||
</source> | </source> |
Версия 13:51, 4 декабря 2008
Скрипт позволяющий рекурсивно заменять пробелы на подчеркивание.
С помощью утилиты find указываем директории в которых хотим работать, while осуществляет циклическое действие, mv переименовывает файлы, echo выводит файлы для работы sed, ну и, собственно, присходит замена.
find path1 path2 -type f -name '* *' | while read file
do
mv -- "${file}" "${file// /_}"
done
Для замены пробелов в именах каталогов сменить -type f на -type d, либо убрать вообще для замены как в именах файлов, так и каталогов.