групповое переименование файлов

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

Модераторы: SLEDopit, Модераторы разделов

Alex_P
Сообщения: 28

групповое переименование файлов

Сообщение Alex_P »

Есть грумма файлов примерно 200шт и для них нужно выполнить групповое переименование (убрать пробелы из названий) как можно выполнить данную задачю. Может у кого есть готовый скрипт для консоди поделитесь если не жалко.
ВСЕ относительно!!!
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: групповое переименование файлов

Сообщение diesel »

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

ls | while read i; do mv "$i" ${i// /_}; done


типа такого?
Спасибо сказали:
Alex_P
Сообщения: 28

Re: групповое переименование файлов

Сообщение Alex_P »

Да спасибо типа такого все работает только не совсем понял как работает откуда берется переменная "i" как ей присваивается имя файла?
ВСЕ относительно!!!
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: групповое переименование файлов

Сообщение nesk »

Alex_P писал(а):
24.03.2009 16:41
Да спасибо типа такого все работает только не совсем понял как работает откуда берется переменная "i" как ей присваивается имя файла?


вывод команды ls перенаправляется на ввод while read i, read читает строку из входного потока (из вывода ls) и сохраняет её в переменную i
купите книжку :)
кстати есть вариант, что в имени файла будет содержаться символ переноса строки. Не знаю на сколько корректно отработает этот скрипт.

А есть еще команда rename
А вообще вопрос уже обсуждался на форуме неоднократно, используйте поиск


Массовое переименование файлов
переименование файлов
Переименование группы файлов
Скрипт переименования папок
Переименование файлов по порядку
Решено: Как переименовать группу файлов?
Решено: Быстрое переименовывание файлов
Как переименовать файлы?
Решено: Решено: помогите переименовать файл =)
Массовое переименование файлов.
Массовое переименование фоток
shell script переименовать файлы?

PS. и еще в предложенном скрипте будет ругань в том случае, если имя файла изначально не содержит пробелы.
будет
mv filename filename
не знаю как поведет себя mv
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Alex_P
Сообщения: 28

Re: групповое переименование файлов

Сообщение Alex_P »

Спасибо за содержательный ответ (поиском пользовался и по форуму и в гугле не нашел ни чего рабочего) по этому и создал тему.
ВСЕ относительно!!!
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: групповое переименование файлов

Сообщение Ленивая Бестолочь »

nesk писал(а):
24.03.2009 16:56
mv filename filename
не знаю как поведет себя mv

mv скажет:

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

mv: `filename' and `filename' are the same file
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: групповое переименование файлов

Сообщение nesk »

Ленивая Бестолочь писал(а):
24.03.2009 17:29
nesk писал(а):
24.03.2009 16:56
mv filename filename
не знаю как поведет себя mv

mv скажет:

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

mv: `filename' and `filename' are the same file




Отлично. не страшно :)
можно просто порезать сообщения об ошибке

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

ls | while read i; do mv "$i" ${i// /_} 2>/dev/null; done
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали: