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

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
(Новая: Скрипт позволяющий рекурсивно заменять пробелы на подчеркивание. С помощью утилиты '''find''' указываем ...)
 
(форматирование, ошибки)
Строка 1: Строка 1:
Скрипт позволяющий рекурсивно заменять пробелы на подчеркивание.
Скрипт позволяющий рекурсивно заменять пробелы на подчеркивание.


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


----
----
<source lang="bash">
<source lang="bash">
find path1 path2 -type f | while read file; do mv "${file}" "$(echo "${file}" | sed -re "s/ +/_/g")"; done
find path1 path2 -type f | while read file
do
mv "${file}" "$(echo "${file}" | sed -re "s/ +/_/g")"
done
</source>
</source>
----
----


[[Category:Sed]][[Category:Bash-скрипт]]
[[Category:Sed]][[Category:Bash-скрипт]][[Категория:Скрипт]]

Версия 12:04, 18 октября 2008

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

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


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