precisa de ajuda da lista de reprodução do grep

0

Eu uso uma lista de reprodução da Internet que é atualizada todos os dias. Quero classificar e usar URLs.

A lista de reprodução está uma bagunça e parece com isso

#EXTINF:-1 tvg-id="ORF1.at" group-title="Deutsch" tvg-logo="0071.png",[COLOR orangered]ORF1 HD[/COLOR] http://62.65.140.214:80/session/a126e0c8-3ffd-11e6-9c3e-005056bc49ac/nvnv5a/1/1010/index.m3u8?token=549d54af4ca436ec0d599cace4ee6bf4_1467513323_1467513323&p=127|X-Forwarded-For=85.195.192.0 #EXTINF:-1 tvg-id="ORF2.at" group-title="Deutsch" tvg-logo="0073.png",[COLOR orangered]ORF2 HD[/COLOR] http://62.65.140.216:80/session/a763552a-3ffd-11e6-9384-005056bc49ac/nvnv5a/1/1011/index.m3u8?token=e3fb5624d5f8458f8e44bc6e429fd75d_1467513324_1467513324&p=127|X-Forwarded-For=85.195.192.0 #EXTINF:0800 tvg-id="ARD.de" group-title="Deutsch" tvg-logo="0001.png",[COLOR orangered]ARD SD[/COLOR] http://daserste_live-lh.akamaihd.net/i/daserste_int@91203/index_2692_av-p.m3u8 #EXTINF:0800 tvg-id="ARD.de" group-title="Deutsch" tvg-logo="0002.png",[COLOR orangered]Das Erste[/COLOR] http://daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8 #EXTINF:0800 tvg-id="" group-title="Deutsch" tvg-logo="",[COLOR orangered]arte[/COLOR] http://delive.artestras.cshls.lldns.net/artestras/contrib/delive.m3u8

é possível classificar essa bagunça para algo assim

#EXTINF:-1 tvg-id="ORF1.at" group-title="Deutsch" tvg-logo="0071.png",[COLOR orangered]ORF1 HD[/COLOR] 
http://62.65.140.214:80/session/a126e0c8-3ffd-11e6-9c3e-005056bc49ac/nvnv5a/1/1010/index.m3u8?token=549d54af4ca436ec0d599cace4ee6bf4_1467513323_1467513323&p=127|X-Forwarded-For=85.195.192.0 
#EXTINF:-1 tvg-id="ORF2.at" group-title="Deutsch" tvg-logo="0073.png",[COLOR orangered]ORF2 HD[/COLOR] 
http://62.65.140.216:80/session/a763552a-3ffd-11e6-9384-005056bc49ac/nvnv5a/1/1011/index.m3u8?token=e3fb5624d5f8458f8e44bc6e429fd75d_1467513324_1467513324&p=127|X-Forwarded-For=85.195.192.0 

Alguém pode me ajudar com a classificação?

Eu tentei alguns comandos do grep que encontrei no Google, mas como a cadeia de caracteres ultrapassa as linhas, parece que não consigo classificá-la.

    
por snowflux 02.07.2016 / 16:48

1 resposta

0

Eu criei um arquivo chamado playlist contendo sua string:

#EXTINF:-1 tvg-id="ORF1.at" group-title="Deutsch" tvg-logo="0071.png",[COLOR orangered]ORF1 HD[/COLOR] http://62.65.140.214:80/session/a126e0c8-3ffd-11e6-9c3e-005056bc49ac/nvnv5a/1/1010/index.m3u8?token=549d54af4ca436ec0d599cace4ee6bf4_1467513323_1467513323&p=127|X-Forwarded-For=85.195.192.0 #EXTINF:-1 tvg-id="ORF2.at" group-title="Deutsch" tvg-logo="0073.png",[COLOR orangered]ORF2 HD[/COLOR] http://62.65.140.216:80/session/a763552a-3ffd-11e6-9384-005056bc49ac/nvnv5a/1/1011/index.m3u8?token=e3fb5624d5f8458f8e44bc6e429fd75d_1467513324_1467513324&p=127|X-Forwarded-For=85.195.192.0 #EXTINF:0800 tvg-id="ARD.de" group-title="Deutsch" tvg-logo="0001.png",[COLOR orangered]ARD SD[/COLOR] http://daserste_live-lh.akamaihd.net/i/daserste_int@91203/index_2692_av-p.m3u8 #EXTINF:0800 tvg-id="ARD.de" group-title="Deutsch" tvg-logo="0002.png",[COLOR orangered]Das Erste[/COLOR] http://daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8 #EXTINF:0800 tvg-id="" group-title="Deutsch" tvg-logo="",[COLOR orangered]arte[/COLOR] http://delive.artestras.cshls.lldns.net/artestras/contrib/delive.m3u8

E correu

sed 's/#EXTINF:/\n#EXTINF:/g' playlist | sort -t ":" -nk2 | sed 's/http:/\nhttp:/g'

Isso se divide em novas linhas em cada #EXTINF , em seguida, classifica numericamente com base no número após os dois pontos e, em seguida, coloca a URL correspondente na próxima linha.

    
por 02.07.2016 / 18:24

Tags