Рекурсивная замена пробелов на подчеркивания в именах файлов и каталогов: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Строка 1: | Строка 1: | ||
Скрипт позволяющий | Скрипт позволяющий заменять пробелы на подчеркивание. | ||
---- | ---- | ||
<source lang="bash"> | <source lang="bash"> | ||
find path1 path2 -type f | find path1 path2 -type f | while read full # find - ищет файлы в указанном пути, while - осуществляет циклическое действие | ||
do | do | ||
mv -- "${ | name=${full##*/} # вырезаем имя файла, функция убирает все до последнего слеша "/", оставляя только имя файла | ||
mv -- "${full}" "${full%/*}/${name// /_}" # перемещаем старый файл (полное имя которого в переменной full) в новый, образованный | |||
# именем файла (переменная name, в которой сделана замена пробела на _) и путем | |||
# к нему (получен методом обрезания полного имени файла до первого слеша) | |||
done | done | ||
</source> | </source> | ||
---- | ---- | ||
Скрипт для работы с директориями в процессе разработки. | |||
[[Category:Sed]][[Category:Bash-скрипт]][[Категория:Скрипт]] | [[Category:Sed]][[Category:Bash-скрипт]][[Категория:Скрипт]] |
Версия 17:34, 5 декабря 2008
Скрипт позволяющий заменять пробелы на подчеркивание.
find path1 path2 -type f | while read full # find - ищет файлы в указанном пути, while - осуществляет циклическое действие
do
name=${full##*/} # вырезаем имя файла, функция убирает все до последнего слеша "/", оставляя только имя файла
mv -- "${full}" "${full%/*}/${name// /_}" # перемещаем старый файл (полное имя которого в переменной full) в новый, образованный
# именем файла (переменная name, в которой сделана замена пробела на _) и путем
# к нему (получен методом обрезания полного имени файла до первого слеша)
done
Скрипт для работы с директориями в процессе разработки.