Доброго время суток уважаемые господа !
Дело в следующем : нужно рекурсивно найти поменять в названии файлов и папок одну букву на другую . .файли разные odt,doc.txt,pdf и другие и их очень много
Замена одной буквы на другую
Модератор: Модераторы разделов
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Замена одной буквы на другую
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Замена одной буквы на другую
вопрос решыл напысав скрипт.
Код: Выделить всё
#!/bin/bash
find path1 path2 -type f | while read full # find - ищет файлы в указанном пути, while - осуществляет
do # циклическое действие
name=${full##*/} # вырезаем имя файла, функция убирает все до последнего слеша "/",
mv -- "${full}" "${full%/*}/${name// /_}" # оставляя только имя файла
done # перемещаем старый файл (полное имя которого в переменной full) в
# новый, образованный
# именем файла (переменная name, в которой сделана замена пробела на _)
# и путем
# к нему (получен методом обрезания полного имени файла до первого
# слеша)
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Замена одной буквы на другую
Код: Выделить всё
while read full; do
#…
done< <(find …)
$
man basename
$
man dirname
PS: Bizdelnick уже подсказал нормальное решение.