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

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Строка 5: Строка 5:
----
----
<source lang="bash">
<source lang="bash">
find path1 path2 -type f -name '* *' | while read file
find path1 path2 -type f -iname '*.ogg' | while read file
do
do
mv -- "${file}" "${file// /_}"
mv -- "${file}" "${file// /_}"

Версия 16:40, 4 декабря 2008

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

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


find path1 path2 -type f -iname '*.ogg' | while read file
do
mv -- "${file}" "${file// /_}"
done

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