Сабж.
Задача: переименовать группу файлов, были именна "бла бла", сделать "бла00001", ну и так далее.
Смотрел в нете, способов просто море, но думаю тут многие с таким сталкивались, и хотелось бы найти оптимальное решение.
Смотрел в портах, нашел rename, но мозг так и не понял, как это все работает.
Переименование группы файлов
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- InventoR
- ст. лейтенант
- Сообщения: 1344
- Зарегистрирован: 2006-12-10 19:43:25
- Контактная информация:
Переименование группы файлов
ну вот и сказочке конец, кто слушал, тот молодец.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
Re: Переименование группы файлов
Можно с xargs, можно и без. Для небольшого кол-ва файлов и где нет спецсиволов в именах можно вообще отделаться однострочником.
Код: Выделить всё
#! /bin/sh
# example:
# mv /d/ani/!seen/Black Lagoon/Black_Lagoon_23.DVD(H264.AAC)[KAA][2AA002B3].mkv /d/ani/!seen/Black Lagoon/shot_00029.mkv
# mv /d/ani/!seen/Black Lagoon/Black_Lagoon_24.DVD(H264.AAC)[KAA][A3529A8B].mkv /d/ani/!seen/Black Lagoon/shot_00030.mkv
# mv /d/ani/!seen/Figure 17/Figure 17 01 [Exiled-Destiny] [35C8428E].mkv /d/ani/!seen/Figure 17/shot_00031.mkv
# mv /d/ani/!seen/Figure 17/Figure 17 02 [Exiled-Destiny] [FC2A32F1].mkv /d/ani/!seen/Figure 17/shot_00032.mkv
# mv /d/ani/!seen/Figure 17/Figure 17 03 [Exiled-Destiny] [058834A4].mkv /d/ani/!seen/Figure 17/shot_00033.mkv
set -f # disable pathname expansion
#IFS='' # disable field splitting
jobs=1 # for parallel renaming
i=100000 # start with 00001
sep='\0\c' # filename can contain anything except NUL (from wikipedia)
#destdir=/var/tmp
find -s /d/ani -iname *.mkv |
while read line; do
i=$((i + 1))
echo -n $line
echo -e $sep
if [ $destdir ]
then
echo -n $destdir/shot_${i#1}.${line##/*.}
else
echo -n ${line%/*}/shot_${i#1}.${line##/*.}
fi
echo -e $sep
done |
xargs -0 -n2 -P$jobs echo mv
-
- проходил мимо
Re: Переименование группы файлов
или можно перловым скриптом.
http://felix.canids.net/plaintext/cmv
я им как-то сбрасывал все *.flac в одну папку, заменяя имя папки на имя файла с префиксом. Напр:
http://felix.canids.net/plaintext/cmv
я им как-то сбрасывал все *.flac в одну папку, заменяя имя папки на имя файла с префиксом. Напр:
Код: Выделить всё
/d/muz/ll/Raison D'?tre/1997 - In Sadness, Silence and Solitude/02 - In Abscence of Light.flac -> /d/muz/ll/raison_d'?tre.1997.in_sadness,_silence_and_solitude.02.in_abscence_of_light.flac