Hallo,
ich habe mal wieder ein kleines Problem.
Ich lade mit dem Programm Webgrabber+ von mehreren Sender EPG-Dateien herunter. In dem Programm kann ich selbst keine Überprüfen machen ob ein Download nicht funktioniert hat. Ich habe mir jetzt überlegt in der Ausgabedatei zu prüfen ob der Sender, welche in der Config stehen, vorhanden sind. Das Problem jetzt ist, dass alle Ansätze die ich gefunden habe nicht funktionieren, da die Zeilen komplett aneinander stehen ohne Leerzeichen und ich es erst aufwändig aufgesplittet habe damit ich am Ende nur noch die Sender angezeigt bekomme.
|
Quellcode
|
1
|
<channel update="i" site="freeview.com.au" site_id="101305020525" xmltv_id="7flix [AUS]">7flix [AUS]</channel><channel update="i" site="freeview.com.au" site_id="101305030534" xmltv_id="7HD [AUS]">7HD [AUS]</channel><channel update="i" site="freeview.com.au" site_id="101305020523" xmltv_id="7mate [AUS]">7mate [AUS]</channel><channel update="i" site="freeview.com.au" site_id="101305020522" xmltv_id="7TWO [AUS]">7TWO [AUS]</channel>
|
Das nach xmltv_id=" bis "> sind die wichtigen Informationen
|
Quellcode
|
1
2
|
sed 's/"/" /g' WebGrab++.config.xml > 1WebGrab++.config.xmlsed 's/"/ "/g' 1WebGrab++.config.xml > 2WebGrab++.config.xmlsed 's/.*xmltv_id= " \(.*\) " >.*/\1/' 2WebGrab++.config.xml > 3WebGrab++.config.xml
tr [:blank:] "~" < 3WebGrab++.config.xml > 4WebGrab++.config.xml
|
So kann ich die Zeilen mit cat in ein Array schreiben, mit Leerzeichen hätte ich dann nacher 20 Elemente
|
Quellcode
|
1
2
3
|
file="4WebGrab++.config.xml"lines=`cat $file`
for line in $lines donewline=$(echo $line | tr "~" " ")echo $newline
if grep -w "$newline" wg++/guide_AUS_2018-03-26.xmlthen echo "Die Datei enthält $newline"else echo "Die Datei enthält $newline nicht"fi
|
Wenn ich jetzt allerdings nach diesen Sendern in der Ausgabedatei suche bekomme ich keine Ergebnisse, da dort auch alles zusammen geschrieben ist.
|
Quellcode
|
1
|
<display-name lang="en">7flix [AUS]</display-name><programme start="20180326053000 +0000" stop="20180326060200 +0000" channel="7flix [AUS]">
|
Gibt es noch andere Möglichkeiten das zu erledigen?