LinuxForum.Fans
Тема

Transcend 870

Автор: AnKar 25 сообщений 6986 просмотров
#200914

В общем, есть у меня замечательный плеер - Transcend 870, который при низкой цене не уступает маститым представителям этого рынка. и был бы он вообще замечателен,если бы не один баг,который разрабы почему-то не фиксят в новых прошивках,хотя уже пора бы давно.
Некоторые файлы на кириллице он не читает,а само их название превращается в крякозябры. И, чтоб они читались,надо их переименовать по-латински. Одна только проблема - узнать какие именно песни он попортил.
Раньше много думал,как вычислить какие конкретно файлы он превращает в нечитаемые,придумал способ,благодаря которому могу наслаждатся моей музыкальной библиотекой,однако на то,чтоб ее всю(2500+ песен) закинуть на плеер,требуется часов 5 потения :(
Недавно,опытным путем установил,что он "не любит" файлы с названием на кириллице,которое,не считая расширения, длинною 5 или 7 букв.
Теперь,к сути) Кто может посоветовать программу для массового поиска и переименования необходимых мне файлов в конкретной папке? или скриптик хотя бы.
т.е.нужно чтоб он искал файлы типа
XXXXX.YYY и XXXXXXX.YYY
и превращал в XXXXX..YYY и XXXXXXX..YYY соответственно

#201413

...или посоветуйте что-нибудь для сортировки файлов по длине имени

#201420
text
rename 's/^(.{5})\.mp3$/$1\.\.mp3/' *.mp3

добавит точку ко всем mp3 с 5и буквенным именем в текущей директории

#201551

shumomer, не работает(

#201557
AnKar написал:
shumomer, не работает(

Странно. Специально проверил - у меня работало.
Покажите ls -l той папки, в которой пытаетесь переименовывать.

ЗЫ А как "не работает"? И да - система/дистр-то у вас какие (в некоторых эту команду, зачем-то, обрезанную ставят)?

#201560

Ununtu 10.04
в папке специально переименовал один файл на пятибуквенный,чтоб проверить работоспособность
делаю cd '/home/ankar/music/
далее вашу команду
ls -l:

text
ankar@ankar-laptop:~$ ls -l '/home/ankar/music' 
итого 63440
-rwxr-xr-x 1 ankar ankar  4510077 2011-10-28 00:51 03 - Канцлер Ги - Cezare Borja.mp3
-rwxr-xr-x 1 ankar ankar  4432760 2011-10-28 00:51 03 - Канцлер Ги - Песенка Люцифера.mp3
-rwxr-xr-x 1 ankar ankar  5915474 2011-09-17 15:15 04 - Канцлер Ги - Доброе утро, катары!.mp3
-rwxr-xr-x 1 ankar ankar  6957229 2011-10-28 00:49 10 - Канцлер Ги - Ведьма-II.mp3
-rwxr-xr-x 1 ankar ankar  4864304 2011-10-28 00:49 14 - Канцлер Ги - Каину Амберскому.mp3
-rwxr-xr-x 1 ankar ankar 10767818 2011-09-26 23:36 olvi_-_prosnis.mp3
-rwxr-xr-x 1 ankar ankar 15713316 2011-09-26 23:36 olvi_-_svoboda.mp3
-rwxr-xr-x 1 ankar ankar 11780452 2011-09-26 23:37 генер.mp3
#201623

Мда.. Опять беда с юникодом (работает только с латиницей). Да что-ж такое-то. Ведь в какой-то из версий работало-же.... Опять поломали, чтоб им.

#201630

Ок. Тогда так извратимся:

text
ls *.mp3 | grep -E ^.\{5\}\.mp3$ | sed -e 's/^\(.\{5\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

Или чуток попроще:

text
ls *.mp3 | grep -E ^.\{5\}\.mp3$ | sed -e 's/^\(.*\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh
#201670

Отлично! первый вариант работает.

#201671

Если еще не надоел, не мог бы ты написать скрипт чтоб то же самое делало для папок и для вложенных под-папок(т.к. плеер русскоязычные папки 5\7 символов тоже непризнаёт, а 250+ исполнителей, + альбомы у каждого менять напряжно)?

#201689

Переименовать пятибуквенные mp3 во всех папках начиная от текущей:

text
find ./ -type f | grep -E /.\{5\}\.mp3$ | sed -e 's/^\(.*\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

Переименовать все пятибуквенные подпапки (с этим - очень аккуратно, запустите не там - запорете систему и/или данные, на что прав хватит!)

text
find ./ -type d | grep -E /.\{5\}$ | sed -e 's/^\(.*\)$/mv "&" "\1\."/' | sh
#201705

Смотри,то есть
у меня есть папка "music" в которой энное количество мп3-файлов,и небольшое количество ogg и wma файлов не разсортированных по папкам(мне так удобно на компе)
я перехожу в терминале к этой папке, делаю

text
ls *.mp3 | grep -E ^.\{5\}\.mp3$ | sed -e 's/^\(.\{5\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

потом

text
ls *.mp3 | grep -E ^.\{7\}\.mp3$ | sed -e 's/^\(.\{5\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

для остальных фалов то же самое, только mp3 меняю на ogg и wma(будет работать с этим форматом?)
далее при помощи любого аудиоплеера делаю синхронизацию с мп3-плеером, при синхронизации он сортирует по типу mp3-pleer/%artistname%/%albomname%/%songname.mp3%(не знаю еще,какой аудиоплеер буду для этого использовать, не тестил, планирую использовать exaile. wmp сортирует именно так,что для меня очень удобно, но он стабильно на каждом 15м файле кидает ошибку и не записывает этот файл. а может быть найду что-то другое из ПО для сортировки музыкальных файлов, т.е. не буду синхронизирует а просто в любую папку отсортирую по вышеуказанному алгоритму, а потом кину на плеер. если что-то для этого посоветуешь - будешь вообще волшебником)))
потом перехожу к основной уже отсортированной папке,делаю

text
find ./ -type d | grep -E /.\{5\}$ | sed -e 's/^\(.*\)$/mv "&" "\1\."/' | sh

и

text
find ./ -type d | grep -E /.\{7\}$ | sed -e 's/^\(.*\)$/mv "&" "\1\."/' | sh

и ко всем папкам 5 и 7-буквенным прибавляется точка
PROFIT!
я правильно описал алгоритм?
завтра буду тестить
и,да,я - упоротый убунтолог

#201706
AnKar написал:
потом
text
ls *.mp3 | grep -E ^.\{7\}\.mp3$ | sed -e 's/^\(.\{5\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

Вторую пятерку заменить забыл

text
ls *.mp3 | grep -E ^.\{7\}\.mp3$ | sed -e 's/^\(.\{7\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh
AnKar написал:
для остальных фалов то же самое, только mp3 меняю на ogg и wma(будет работать с этим форматом?)

Будет

Дальше - все правильно.
Чем сортировать музыку - не знаю - у меня просто по стилям (точнее по настроениям) раскидана, большими пачками. Можно, конечно, и тут скрипт написать :) но смысла нет - знаю что есть пачка готовых инструментов, просто надобности ни когда небыло, т.ч. посоветовать не могу.

#201710

Хэх...нашел отличную unix-программу для для сортировки любых типов файлов, FreeSorter. Если бы не маялся этим,и не наткнулся бы на такую отличную вещь. только не вкурю,что за юмор у автора...из-за следующих строчек в конфиг-файле, в разделе мп3 bon jovi(чисто случайно его скачал для теста - на ноуте вообще нет музыки) кидается не в /%artistname%/%albomname%/%songname.mp3% а в FAVORITES/%artistname%/%albomname%/%songname.mp3%

text
{
%mp3_kw = (

'Linkin' => 'Pop_West/Linkin_Park', 'Pink' => 'Pop_West/Pink', # 'Tiesto' => 'Club/Tiesto', 'DJ' => 'Club/DJ', # 'Nightwish' => 'Metal/Nightwish', # 'Moby' => 'Electronic/Moby', # 'Red Hot' => 'Rock_West/Red_Hot_Chili_Peppers', # 'Звери' => 'Recycle_Bin/', 'W w W . B I A 2 R A P . C o M' => 'Recycle_Bin/', # 'к/ф' => 'Favourites/Soundtracks', 'к.ф' => 'Favourites/Soundtracks', 'к;ф' => 'Favourites/Soundtracks', 'к; ф' => 'Favourites/Soundtracks', 'т/п' => 'Favourites/Soundtracks', 'т;п' => 'Favourites/Soundtracks', 'т; п' => 'Favourites/Soundtracks', 'OST' => 'Favourites/Soundtracks', 'soundtrack' => 'Favourites/Soundtracks', # 'песни' => 'Favourites/USSR', 'ссср' => 'Favourites/USSR', # 'doors' => 'Favourites/The_Doors', 'Marley' => 'Favourites/Bob_Marley', 'Wailers' => 'Favourites/Bob_Marley', 'Elvis' => 'Favourites/Elvis_Presley', 'Presley' => 'Favourites/Elvis_Presley', 'Presly' => 'Favourites/Elvis_Presley', 'Prestley' => 'Favourites/Elvis_Presley', 'Armstrong' => 'Favourites/Louis_Armstrong', 'Jovi' => 'Favourites/Bon_Jovi', # 'Instrumental' => 'Favourites/Instrumental', 'osoboe' => 'Favourites/osoboe', ); }{ %mp3_kw = (

'Linkin' => 'Pop_West/Linkin_Park', 'Pink' => 'Pop_West/Pink', # 'Tiesto' => 'Club/Tiesto', 'DJ' => 'Club/DJ', # 'Nightwish' => 'Metal/Nightwish', # 'Moby' => 'Electronic/Moby', # 'Red Hot' => 'Rock_West/Red_Hot_Chili_Peppers', # 'Звери' => 'Recycle_Bin/', 'W w W . B I A 2 R A P . C o M' => 'Recycle_Bin/', # 'к/ф' => 'Favourites/Soundtracks', 'к.ф' => 'Favourites/Soundtracks', 'к;ф' => 'Favourites/Soundtracks', 'к; ф' => 'Favourites/Soundtracks', 'т/п' => 'Favourites/Soundtracks', 'т;п' => 'Favourites/Soundtracks', 'т; п' => 'Favourites/Soundtracks', 'OST' => 'Favourites/Soundtracks', 'soundtrack' => 'Favourites/Soundtracks', # 'песни' => 'Favourites/USSR', 'ссср' => 'Favourites/USSR', # 'doors' => 'Favourites/The_Doors', 'Marley' => 'Favourites/Bob_Marley', 'Wailers' => 'Favourites/Bob_Marley', 'Elvis' => 'Favourites/Elvis_Presley', 'Presley' => 'Favourites/Elvis_Presley', 'Presly' => 'Favourites/Elvis_Presley', 'Prestley' => 'Favourites/Elvis_Presley', 'Armstrong' => 'Favourites/Louis_Armstrong', 'Jovi' => 'Favourites/Bon_Jovi', # 'Instrumental' => 'Favourites/Instrumental', 'osoboe' => 'Favourites/osoboe', ); }

а если убрать ее вовсе, он кидается по типу /%albomname%/%songname.mp3%
лол просто)

#202103

Ох и намаялся я с этим плеером
Уже на финальной стадии, теги все поправленны красиво, все исполнители по алфавиту раскиданны,все отлично,осталось только папки подправить
Только скрипт ваш не работает, в нем ошибка, он пытается заменить %wrongname% на %wrongname.%/%wrongname%
Слава Роду, что он по какой-то причине не сработал, а то моя тщательно отсортированная коллекция бы полетела в тартарары, и пришлось бы бекапится на пару пунктов алгоритма(а он уже заметно возрос)), так как я, как дурак, забыл сделать копию, и пытался изменить прям оригинал
Терминал выдает следующее:

text
ankar@ankar-laptop:/media/MicroSdHc/Music$ find ./ -type d | grep -E /.\{5\}$ | sed -e 's/^\(.*\)$/mv "&" "\1\."/' | sh
mv: невозможно перенести «./AC DC» в свой собственный подкаталог, «./AC DC./AC DC»
mv: невозможно перенести «./Bon Jovi/Crush» в свой собственный подкаталог, «./Bon Jovi/Crush./Crush»
mv: невозможно перенести «./Butterfly Temple/Велес» в свой собственный подкаталог, «./Butterfly Temple/Велес./Велес»
mv: невозможно перенести «./Catharsis/Имаго» в свой собственный подкаталог, «./Catharsis/Имаго./Имаго»
mv: невозможно перенести «./Die Apokalyptischen Reiters/Licht» в свой собственный подкаталог, «./Die Apokalyptischen Reiters/Licht./Licht»
mv: невозможно перенести «./Edguy» в свой собственный подкаталог, «./Edguy./Edguy»
mv: невозможно перенести «./Equilibrium/Sagas» в свой собственный подкаталог, «./Equilibrium/Sagas./Sagas»
mv: невозможно перенести «./А.Непомнящий/Полюс» в свой собственный подкаталог, «./А.Непомнящий/Полюс./Полюс»
mv: невозможно перенести «./Korpiklaani/Vodka» в свой собственный подкаталог, «./Korpiklaani/Vodka./Vodka»
mv: невозможно перенести «./Lordi» в свой собственный подкаталог, «./Lordi./Lordi»
mv: невозможно перенести «./Lumen» в свой собственный подкаталог, «./Lumen./Lumen»
mv: невозможно перенести «./Черный обелиск/Стена» в свой собственный подкаталог, «./Черный обелиск/Стена./Стена»
mv: невозможно перенести «./Queen» в свой собственный подкаталог, «./Queen./Queen»
mv: невозможно перенести «./Ska-P» в свой собственный подкаталог, «./Ska-P./Ska-P»
mv: невозможно перенести «./Sting» в свой собственный подкаталог, «./Sting./Sting»
mv: невозможно перенести «./Three Days Grace/One X» в свой собственный подкаталог, «./Three Days Grace/One X./One X»
mv: невозможно перенести «./Алиса» в свой собственный подкаталог, «./Алиса./Алиса»
mv: невозможно перенести «./Алиса/Изгой» в свой собственный подкаталог, «./Алиса/Изгой./Изгой»
mv: невозможно перенести «./Алиса/Шабаш» в свой собственный подкаталог, «./Алиса/Шабаш./Шабаш»
mv: невозможно перенести «./Би-2/Album» в свой собственный подкаталог, «./Би-2/Album./Album»
mv: невозможно перенести «./Браво» в свой собственный подкаталог, «./Браво./Браво»
mv: невозможно перенести «./Гр.Рондо/Рондо» в свой собственный подкаталог, «./Гр.Рондо/Рондо./Рондо»
mv: невозможно перенести «./ДДТ/Album» в свой собственный подкаталог, «./ДДТ/Album./Album»
mv: невозможно перенести «./Живые» в свой собственный подкаталог, «./Живые./Живые»
mv: невозможно перенести «./Крематорий/Зомби» в свой собственный подкаталог, «./Крематорий/Зомби./Зомби»
mv: невозможно перенести «./Ольви» в свой собственный подкаталог, «./Ольви./Ольви»
mv: невозможно перенести «./Пилот» в свой собственный подкаталог, «./Пилот./Пилот»
mv: невозможно перенести «./Рок Фронт/Бой 2» в свой собственный подкаталог, «./Рок Фронт/Бой 2./Бой 2»
mv: невозможно перенести «./Сплин» в свой собственный подкаталог, «./Сплин./Сплин»
mv: невозможно перенести «./Шмели» в свой собственный подкаталог, «./Шмели./Шмели»
mv: невозможно перенести «./Юрий Лоза/Тоска» в свой собственный подкаталог, «./Юрий Лоза/Тоска./Тоска»
mv: невозможно перенести «./F.P.G» в свой собственный подкаталог, «./F.P.G./F.P.G»
mv: невозможно перенести «./F.P.G/Сингл» в свой собственный подкаталог, «./F.P.G/Сингл./Сингл»
mv: невозможно перенести «./F.P.G/Сплит» в свой собственный подкаталог, «./F.P.G/Сплит./Сплит»

сегодня часов до двух ночи еще онлайн буду точно,жду ответа

#202111

Я наконец-то сделал всё) Просто подумал - твой скрипт не работает,зато он отлично показывает битые папки. просто вручную их переименовал. При чём,какое странное колдунство:
если переименовывать из XXXXX в XXXXX. то пишет что нельзя,такая папка уже есть(хотя ее точно нет). а если XXXXX в XXXXX_ а потом в ХХХХХ. то отлично работает))
спасибо!

#202343

Самое в этом странное, это то, что я тестил команду. И у меня прекрасно сработала и сделала то, что задумано...

Прямо сейчас - скопировал с сообщения команду, в тестовой папке запустил. Все ОК, все переименовалось как надо. Ничего не понимаю...

То, что у вас уже все хорошо - это хорошо :) А мне, честно говоря, хотелось-бы понять - почему у вас команда отрабатывала не как надо?
Что-бы я не делал - не могу добиться такой ошибки (хотя попутно нашел одну недоработку, но она не опасна и к ошибке не приводит).

Хоть убей не понимаю, откуда у вас дополнительно имя каталога в конце берется...

Если не трудно - запустите такую команду, в уже обработанном каталоге (да в принципе в любом, где точно есть папки из 6 букв):

text
find ./ -type d | grep -E /.\{6\}$ | sed -e 's/^\(.*\)$/mv "&" "\1\."/'

Она ничего не делает, просто выведет команды которые отдавались-бы на исполнение. Вот то, что она покажет и хотелось-бы увидеть.

ЗЫ Или может кто подскажет - чего я тут не понимаю?

#202354
text
mv "./6bukov" "./6bukov."

offtop:
на плеере,кстати, родных 8 гб, поддерживает карты памяти до 16 гб. У меня такая, на ней 11 гиг - тормозит нещадно.
Есть два режима просмотра файлов - через меню "проигрывается", котором файлы показываются сплошняком,без розбивки по папкам,но в правильном порядке и через проводник. Если смотреть через проигрывается - переключает песни(у меня рендомное) за 5-6 секунд, выходит в просмотр файлов за 10-12 секунд. Если смотреть через проводник переходит от папки к папке за 2-3 минуты. В поле зрения проводника - 10 папок, когда их пролистаешь, подгружает дальнейшие папки 2-3 минуты. Включает песню 5-6 минут(!!).
не знаю - зависит ли от плеера,или от корявой прошивки(последняя стоит), но никому его не советую. Во всех плеерах transcend такая беда, но когда заняты 8 гиг, почти не заметно. Возростает в геометрической прогрессии, т.к. когда у меня было 8 гиг, переключало в 10 раз быстрее. Боюсь себе представить что будет, когда будут забиты все 16 гиг.

#261523
shumomer написал:
Ок. Тогда так извратимся:
text
ls *.mp3 | grep -E ^.\{5\}\.mp3$ | sed -e 's/^\(.\{5\}\)\.mp3$/mv "&" "\1\.\.mp3"/' | sh

Кто подскажет как этот скрипт преобразовать для рекурсивного переименования по папкам? Как я понял,просто нужно вначале добавить что-то вроде find ./ ,но оно пишет

text
find: `ls': Нет такого файла или каталога
find: `*.mp3': Нет такого файла или каталога

не могу прогуглить ман,выдает bash-скрипты,а это явно не оно. помогите,для знающего человека это пол минуты

Войдите или зарегистрируйтесь, чтобы ответить.