Переименование директорий с пробелами

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
ce-zar
ефрейтор
Сообщения: 60
Зарегистрирован: 2008-04-03 15:37:09
Откуда: Санкт-Петербург

Переименование директорий с пробелами

Непрочитанное сообщение ce-zar » 2013-08-27 16:07:37

Уважаемые гуру, здравствуйте! Есть задача переименовать названия директорий с пробелами. Поискал по инету - нашел штук 10 разных интерпретаций скриптов, однако ничего не получается, вернее, добился того, что если в именах встречается только одна директория, отрабатывает нормально, если несколько, то не может найти пути т.к. считает пробелы разделителями. Неужели ни у кого небыло таких проблем, когда пользователи из под Винды называют папки как хотят. Вот скрипт:

Код: Выделить всё

PR=$(ls -1F | grep " ")
for i in "$PR";
do
_f=`echo "$i" | sed 's/ /_/g'` # новое имя для текущего файла
echo $i
mv -i "$i" "$_f"
done
Пробовал такой

Код: Выделить всё

find  путь -type d -exec sh -c 'mv {} `echo {} | sed "s/ /_/"`' \;
usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory
Посоветуйте, плиз, как в таком случае быть.
Спасибо!
Последний раз редактировалось f_andrey 2013-08-27 22:26:58, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.
Ни фига не пойму...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Sadok123
сержант
Сообщения: 179
Зарегистрирован: 2008-09-04 10:59:32

Re: Переименование директорий с пробелами

Непрочитанное сообщение Sadok123 » 2013-08-27 16:23:17

Подсказка

Код: Выделить всё

$ ls -1 -i
144368 ???.txt
144363 ??.txt
$ find . -inum 144368 -delete

Аватара пользователя
vg
мл. сержант
Сообщения: 98
Зарегистрирован: 2008-06-29 15:53:43
Откуда: Омск

Re: Переименование директорий с пробелами

Непрочитанное сообщение vg » 2013-08-27 19:29:33

ce-zar писал(а): Неужели ни у кого небыло таких проблем, когда пользователи из под Винды называют папки как хотят.
Были.

Код: Выделить всё

/usr/ports/sysutils/rename
помог.

http://www.freshports.org/sysutils/rename/
BSDец приходит незаметно

Аватара пользователя
ce-zar
ефрейтор
Сообщения: 60
Зарегистрирован: 2008-04-03 15:37:09
Откуда: Санкт-Петербург

Re: Переименование директорий с пробелами

Непрочитанное сообщение ce-zar » 2013-08-28 15:19:34

Господа, все оказалось гораздо проще:

Код: Выделить всё

for i in `-1F | sed 's/ /|/g'`
do 
old=`echo $i | sed 's/|/ /g'`
new=`echo "$i" | sed 's/|//g'`
mv -f "$old" "$new"
done
Надо было использовать - |
rename тоже поставил еще до обращения к вам, однако он все время ругается на аргументы, мол их слишком много. Или у меня мозгов слишком мало... :)
Однако, разобрался. Спасибо ответившим!!!
Ни фига не пойму...