anonymous@RULINUX.NET~# | Last login: 2024-11-05 13:30:42 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
После потери музыкальной коллекции, пришлось обходиться мини-коллекции в vk.com
Но захотелось скачать.
С помощью MusicSig я получил список музыки в таком виде:
#EXTM3U
#EXTINF:179,Ashes Remain - Change My Life
http://cs5042.vk.me/u679124/audios/f2c127f5d886.mp3
#EXTINF:171,Ashes Remain - Right Here
http://cs4691.vk.me/u16643/audios/ff86abc22d6d.mp3
#EXTINF:170,Ashes Remain - End of Me
http://cs4874.vk.me/u7197060/audios/d012470224f2.mp3
wget может скачать это, но с назвать типа f2c127f5d886.mp3
Вопрос: как правильно написать этот скрипт на Bash?
(Готовий скрипт с комментариями приветствуется)
anonymous(*) (2013-03-16 11:21:50)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22
|
|
|
Скрыть
Re:bash построчное чтение файлаКопируешь текст в файл, ищещь в инете инфу о редакторе sed. Делаешь вывод в stdout только строк с "http" потом wget или lftp. anonymous(*)(2013-03-16 11:42:09)
Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 |
Скрыть
Re:bash построчное чтение файла# печать строк совпадающих с регулярным выражением (эмуляция grep) sed -n '/regexp/p' # вариант 1 sed '/regexp/!d' # вариант 2 anonymous(*)(2013-03-16 11:49:05)
Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 |
Ax-Xa-Xa(*)(2013-03-16 12:03:18)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 |
Скрыть
Re:bash построчное чтение файлаsed -n '/http/p' 1.txt > 2.txt Осталось только скачать используя ссылки из 2.txt wget -i /путь/2.txt Кстати, у меня выдает 404, при попытке скачать файлы. Видать сесия по ip или окончилось время. Чтобы еще автоматом заполнить теги, уже придется повозится. anonymous(*)(2013-03-16 15:14:31)
Отредактировано anonymous по причине Затупил и не увидел, что требуется переименовывать файлы. Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 |
Скрыть
Re:bash построчное чтение файлаP.S. Нет! Не пользуйся тем что выше - движок сожрал обратные слеши! Вот выложил на pastebin.com - там вроде нормально отображается. P.P.S. По дефолту, без "-v debug=1", оно будет пытаться качать. С "-v debug=1" просто отпечатает имена файлов и что будет запущено. anonymous(*)(2013-03-16 15:22:35)
Отредактировано anonymous по причине Тюксоид, падла, не предусмотрел хайлайтер для awk :) |
anonymous(*)(2013-03-16 15:41:35)
Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 |
Скрыть
Re:bash построчное чтение файлаДобавил экранирование двойных кавычек на случай если встретятся в названии песни: http://pastebin.com/PaTuTkhz |
Скрыть
Re:bash построчное чтение файла>Охбле... Ты наверное ещё сутра начал ЭТО писать %)
|
anonymous(*)(2013-03-18 02:25:57)
Mozilla/5.0 (Linux x86_64) AppleWebKit/537.6+ (KHTML, like Gecko) WebKitGTK+/1.10.2 luakit/0d5f4 |
Скрыть
Re:bash построчное чтение файла>Чем выбран сей язык ? Качаешь скилы для емакс лиспа ?
|
Скрыть
Re:bash построчное чтение файлаПосчитал строчки - получилось больше чем 9-10. Но вообще хотя бы читабельно выглядит. |
Скрыть
Re:bash построчное чтение файла> Посчитал строчки - получилось больше чем 9-10.
Ax-Xa-Xa(*)(2013-03-18 16:54:45)
Отредактировано Ax-Xa-Xa по причине Ох бле какой досадный баг, нет все таки не шесть а восемь))) Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 |
Скрыть
Re:bash построчное чтение файла> Ох бле какой досадный баг, нет все таки не шесть а восемь)))
|
Скрыть
Re:bash построчное чтение файлаДобрый день. Здесь проходит конкурс на самый короткий питон-скрипт? |
Скрыть
Re:bash построчное чтение файла>Да, но и на читаемый)))
|
|
|
|
Этот тред читают 7 пользователей: |
Анонимных: 7 Зарегистрированных: 0 |
Re:bash построчное чтение файла
Читаешь строку, начинающийся с #EXTINF, берёшь из неё что нужно для названия. Затем wget ссылка -O "название".
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0