Tekzen
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
Hallo, ich habe eine Senderlistenübersicht die ich online abrufe und dort sind EInträge die dann so aussehen.
Die Seite selbst hat die Endung : http://5.hol.es/trt.txt Die Sender die dort aufgeführt sind sehen so aus TRT AVAZ,http://trtcanlitv-lh.akamaihd.net/i/TRTAVAZ_1@182244/master.m3u8 In dieser Form wie oben abgebildet kann ich die Sender in meiner PLaylist extern nicht schauen, müssten anders formatiert werden TRT AVAZ
http://trtcanlitv-lh.akamaihd.net/i/TRTAVAZ_1@182244/master.m3u8 Wie würde der Befehl hierfür aussehen. Danke
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11180
Wohnort: München
|
Das sollte z.B. so gehen:
| curl http://5.hol.es/trt.txt -o - | sed -E 's/^(.*),(http.*$)/\1\n\2/p' > trt.m3u
|
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
Auf der Seite hat es geklappt.
Jetzt habe ich eine weitere .txt die ich aber mit dem selben Befehl nicht vernünftig auflisten möchte
was bisher nicht geklappt hat. Dort ist folgender Eintrag vorhanden www.deintv.net,http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_900_av-b.m3u8
TRT1 HD,http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_1500_av-b.m3u8
.TRT 1 HD,http://bit.ly/253622 nach ausführen www.deintv.net
http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_900_av-b.m3u8
TRT1 HD
http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_1500_av-b.m3u8
.TRT 1 HD
http://bit.ly/253622 es fehlt auch in der Auflistung der Eintrag #EXTM3U
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11180
Wohnort: München
|
Tekzen schrieb: Auf der Seite hat es geklappt.
Jetzt habe ich eine weitere .txt die ich aber mit dem selben Befehl nicht vernünftig auflisten möchte
was bisher nicht geklappt hat. Dort ist folgender Eintrag vorhanden www.deintv.net,http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_900_av-b.m3u8
TRT1 HD,http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_1500_av-b.m3u8
.TRT 1 HD,http://bit.ly/253622 nach ausführen www.deintv.net
http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_900_av-b.m3u8
TRT1 HD
http://trtcanlitv-lh.akamaihd.net/i/TRT1HD_1@181842/index_1500_av-b.m3u8
.TRT 1 HD
http://bit.ly/253622
Was fehlt dir da noch? Ohne vollständiges Beispiel ist es schwer zu wissen, was du genau willst. Tekzen schrieb: es fehlt auch in der Auflistung der Eintrag #EXTM3U
Das war in deinem Beispiel für das gewünschte Ergebnis nicht enthalten, die erweiterte M3U-Syntax ist aber kein großes Problem:
| curl http://5.hol.es/trt.txt -o - | sed -En 's/^(.*),(http.*$)/#EXTINF:-1,\1\n\2/p;1 i\#EXTM3U' > trt.m3u
|
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
Danke soweit hat es geklappt, ist es möglich in der liste einträge auszublenden.
z.B Zeilen mit Sendern
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11180
Wohnort: München
|
Ja, man kann z.B. (f)grep zwischen curl und sed setzen, um die Zeilen zu filtern - in dem Fall sollen Zeilen, in denen "TRTSPOR" oder "TRTKurdi" vorkommt ignoriert werden, weitere Begriffe kannst du jeweils mit einem escapten Pipe-Symbol (\|) anfügen:
| curl http://5.hol.es/trt.txt -o - | grep -v "TRTSPOR\|TRTKurdi" | sed -En 's/^(.*),(http.*$)/#EXTINF:-1,\1\n\2/p;1 i\#EXTM3U'
|
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
das hast funktioniert. Danke wie sieht es aus wenn bei einem Sender ein . davor ist z.B.
.TRT 1 HD wie kann ich das anders anzeigen also . entfternen
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11180
Wohnort: München
|
Optional vorhandenen Whitespace, Punkt und Komma am Anfang einer Zeile wird man so los:
| sed 's/^[[:space:].,]*//' datei
|
Und sed-Befehle kannst du mit einem Strichpunkt getrennt hintereinander setzen, also z.B. um als erstes Whitespace, Punkt und Kommata am Anfang der Zeile zu entfernen und dann die bisher genutzten sed-Befehle auszuführen:
| curl http://5.hol.es/trt.txt -o - | grep -v "TRTSPOR\|TRTKurdi" | sed -En 's/^[[:space:].,]*//;s/^(.*),(http.*$)/#EXTINF:-1,\1\n\2/p;1 i\#EXTM3U'
|
Oder man fasst es mit dem Ersetzungs-Befehl zusammen (was den Befehl IMHO etwas unübersichtlicher macht, aber dafür muss sed einmal weniger über die Zeilen laufen):
| curl http://5.hol.es/trt.txt -o - | grep -v "TRTSPOR\|TRTKurdi" | sed -En 's/^[[:space:],.]*(.*),(http.*$)/#EXTINF:-1,\1\n\2/p;1 i\#E#XTM3U'
|
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
jetzt wollte ich die datei als sh. über cron laufen lassen.
Cron will irgendwie nicht. Hab als Eintrag folgendes vorgenommen /1 * * * * /user/skript-pfad/skript.sh
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
Tekzen schrieb:
Cron will irgendwie nicht.
Was bedeutet das?
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
ich möchte per crontab die shell datei alle 5 Minuten ausführen
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
Tekzen schrieb: ich möchte per crontab die shell datei alle 5 Minuten ausführen
Das beantwortet meine Frage nicht.
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
ich sehe nicht was cron macht und warum crontab nicht läuft
|
Tekzen
(Themenstarter)
Anmeldungsdatum: 14. Mai 2017
Beiträge: 53
|
rklm schrieb: Tekzen schrieb:
Cron will irgendwie nicht.
Was bedeutet das?
crontab habe ich wie folgt eingetragen */1 * * * * /media/user/hp/meinscript.sh wenn ich über Cron den folgenden Skript ausführe wird die Playlist nicht per FTP hochgeladen Skript: | #!/bin/bash
/media/user/hp/datei1 > /media/user/hp/Playlist.m3u
|
Die Datei1 befindet sich auf dem Laufwerk hp, und die Playlist wird auch aktualisiert.
Sie wird aber nicht per FTP hochgeladen, stattdessen wird eine leere Datei hochgeladen 1
2
3
4
5
6
7
8
9
10
11
12 | HOST='ftp.user.bplaced.net'
USER='user'
PASSWD='passwort'
FILE='Playlist.m3u'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT
exit 0
|
Bearbeitet von rklm: Codeblöcke. Bitte nutze die Vorschaufunktion und beachte Forum/Syntax!
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
Tekzen schrieb:
| #!/bin/bash
/media/user/hp/datei1 > /media/user/hp/Playlist.m3u
|
Ist /media/user/hp/datei1 ein ausführbares Programm? Falls nicht, erklärt das, warum /media/user/hp/Playlist.m3u leer ist.
|