LinuxForum.Fans
Тема

Помогите написать два скрипта!

Автор: Denis_Krupka 10 сообщений 4525 просмотров
#387422

Нужно написать два скрипта:
-первый: находит все песни на пк, добавляет их в листинг и переводит в wav формат.
-второй: заходит в папку, открывает листинг с именем, а потом по этому имени открывает песню, которая была в этой папке.

Заранее спасибо!

#387423
"Denis.Krupka" написал:
первый: находит все песни на пк
text

find путь_поиска -type f -iname "*.mp3" | while read fname 
do
 тут формируем ваш листинг
done
#387424

kostik87, у find есть опция -exec, поэтому необходимость в цикле сомнительна.
Denis.Krupka, так всё же «помогите написать два скрипта» или...

"Denis.Krupka" написал:
Нужно написать два скрипта:

Сами что-нибудь уже сделали?

#387425
"Lupo Alberto" написал:
kostik87, у find есть опция -exec, поэтому необходимость в цикле сомнительна.

Я в курсе опции exec, но с ней просто работать, если нужно выполнить одну команду, если нужно выполнить несколько команд, то уже сложнее, поэтому проще использовать цикл. Ну или нужно описать в bash процедуру, а затем вызывать её в exec. Если вы знаете другой способ напишите, с удовольствием использую его.

#387427
Lupo Alberto написал:

Сами что-нибудь уже сделали?

К сожелению нет... немного не понимаю как это должно получиться((

Скорее всего "Нужно написать", а то я так понял что я не пойму всеравно

#387428
"kostik87" написал:
Ну или нужно описать в bash процедуру, а затем вызывать её в exec.

Самое очевидное решение.
P.S. В «интернетах» куча готовых «велосипедов».

#387430

Очередной «велосипед».

text
find /home/user/Music -iname "*.mp3" -exec lame --decode --silent {} ';' ; find /home/user/Music -iname "*.wav" > listing.txt

P.S. listing.txt в данном случае обычный текстовый файл с перечнем полученных wav-файлов. Список воспроизведения (playlist) имеет совершенно другой формат.

#387433
"Lupo Alberto" написал:
find /home/user/Music -iname "*.mp3" -exec lame --decode --silent {} ';' ; find /home/user/Music -iname "*.wav" > listing.txt

Вот видишь, тебе пришлось сделать два прогона find, что нерационально, лучше использовать два вызова exec или написать процедуру и вызвать её.

#387435
"kostik87" написал:
от видишь, тебе пришлось сделать два прогона find, что нерационально

Тут уж что важнее — «шашечки или ехать?»
Да и, вообще, мой скрипт несколько оторван от реальности, если нужен нормальный плейлист, он не годится.
P.S. Я ни разу не программист.

#387437
"kostik87" написал:
Я в курсе опции exec, но с ней просто работать, если нужно выполнить одну команду, если нужно выполнить несколько команд, то уже сложнее, поэтому проще использовать цикл

Можно в одной команде использовать несколько конструкций -exec, но в данном случае это не подходит, так как в качестве аргумента "{}" будут использоваться одни и те же файлы. Нам же нужно сформировать список из вновь полученных файлов.

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