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