Tool zum Abgleich (syncen) von zwei channels.conf

  • Kennt jemand ein Tool mit der man zwei KanalListen abgleichen kann?
    Sozusagen syncen.


    Oder Doubletten in einer channels.conf aussortieren kann?


    Der CLE kann das wohl nicht. Aber mit dem könnte man die .conf in ein anderes Format konvertieren
    und nach Abgleich re-konvertieren (käme auf nen Versuch an).

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • du kannst dir doch ne kleine bash datei schreiben


    meine, dass es mit sort und uniq
    zb. sort channels_vielleicht_doppelt.conf | uniq > channels.conf


    schreibt halt ne neue channels.conf woebi vdr gar nicht erst startet, wenn du 2 gleiche channels hast, sihe disqusion in der ML error handling vs users friendless oder so ähnlich ;)


    und ansonsten kannst du ja mit grep, sed und diff spielen ;)

  • Zitat

    woebi vdr gar nicht erst startet, wenn du 2 gleiche channels hast


    Das will ich gerne glauben.
    Mir geht es eher darum, eine channels.conf auf Stand zu halten.
    Halt aus aktuellen Listen das interessante rüberkopieren, ohne dabei jedesmal die Struktur und Reihenfolge wieder sortieren zu müssen.

    Zitat

    und ansonsten kannst du ja mit grep, sed und diff spielen


    Da brech mir eher einen ab, bis das läuft, hab ich es per Hand sortiert :rolleyes:
    Denke, daß auch andere das "Problem" haben, vielleicht gibt es da schon Scripte.

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • Hab ich schon.
    Wie oben geschrieben, der kann das nicht, jedenfalls nicht automatisiert, nur händisch.

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • Oh Sorry
    hab nicht "sorgfältig genug" gelesen,
    aber der CLE ist schon der Beste Ansatz den es so gibt vielleicht könnte man den erweitern?


    Gruss Ulf

    Samsung UE43RU7479U, Antec Fusion Black, Prime A320m-k, Ryzen3 3200G, 2* DVB-T2,
    Yavdr-ansible auf Ubuntu Server 22.04

  • Die Entwicklung ruht, vor nem knappen Jahr wurde gesagt für das nächste halbe Jahr ;)
    Vielleicht gehts da nochmal weiter.

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • Hm
    vielleicht könnte man mal nen gemeinsamen Thread aufmachen wo "immer" eine aktuelle channels.conf rumliegt -würden sich wahrscheinlich noch mehr Leute beteidigen.
    Astra? Prim? Radio? vdr<1.3?


    Gruss Ulf

    Samsung UE43RU7479U, Antec Fusion Black, Prime A320m-k, Ryzen3 3200G, 2* DVB-T2,
    Yavdr-ansible auf Ubuntu Server 22.04

  • :moin,


    also das script ist sehr knapp gestrickt, aber es sollte das tun was du möchtest.


    Kopier es in eine Datei, mach es mit chmod 755 ausführbar und starte es mit


    Code
    script oldfile1 oldfile2 newfile



    Das Script nimmt jede Zeile aus oldfile2 die noch nicht in oldfile1 enthalten ist und hängt sie hinten an.

    Registered VDR User #841
    P4 1.7, 256 MB Ram, 200 GB Samsung, TT DVB-C 2.1, TT DVB-C 1500, VDR Extension Board, 12.1" TFT, Pearl Mod-It Gehäuse  
    Suse 10, Kernel 2.6.13-15.11-default, VDR 1.4.2-BP

  • Zitat

    Original von yve


    Da brech mir eher einen ab, bis das läuft, hab ich es per Hand sortiert :rolleyes:
    Denke, daß auch andere das "Problem" haben, vielleicht gibt es da schon Scripte.


    grep sollte reichen. Versuch's mal mit:


    Code
    grep -v -F -f channels1.conf channels2.conf


    Siehe man grep. Das müsste alle Channel ausgeben, die in channel2.conf vorhanden sind, aber nicht in channel1.conf.


    Kategoriemarkierungen sollte man evtl. vorher rausfiltern (grep -v '^:' channels.conf) und wenn die Zeilen nicht komplett identisch sind gibt es falsche Treffer. Wenn VDR sich um die Aktualisierung des Namens usw. kümmert, dann müsste das aber eigentlich ganz gut klappen.

  • Haut nicht hin.
    Sind def. einige gleiche Sender drin,
    aber im Prinzip gibt er die channels2.conf aus (nach deiner Benamsung)

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • Tja, ich muß meine channels.confs nochmal checken.
    Auch hier hätte ich behauptet da gibt es gleiche Zeilen,
    aber das Script hat das zweite File komplett hinten dran gehängt.


    ZwischenFazit: channels.confs aus verschiedenen Quellen kann man schwer vergleichen.

    vdr: AsRock B75 Pro3-M - G1610 - Asus 210 - Cine S2 v6.5 - yaVdr 0.5

  • Zitat

    Original von yve
    Haut nicht hin.
    Sind def. einige gleiche Sender drin,
    aber im Prinzip gibt er die channels2.conf aus (nach deiner Benamsung)


    Dann haben die "gleichen" Sender wohl noch ein paar Unterschiede ... :(
    Wenn ich hier eine Kopie meiner channels.conf anlege, ein paar Zeilen rauslösche und die Dateien dann vergleiche, dann erhalte ich genau die gelöschten Zeilen wieder angezeigt.


    Das perl Skript von poetter dürfte am gleichen Problem scheitern.


    Ich habe es mal anders versucht:



    VDR betrachtet Sender als "gleich", wenn ihre Quelle, NID, TID, SID und RID (zusammen "Channel-ID" genannt) gleich sind (siehe man 5 vdr). Dieses Skript verwendet dasselbe Verfahren und gibt die Senderzeilen aus new-file aus, deren Channel-ID nicht in reference-file vorhanden ist. Daten wie Name, VPID, APID usw. werden also ignoriert.

  • Greywolf


    Ich sehe, du sprichst perl :D

    Registered VDR User #841
    P4 1.7, 256 MB Ram, 200 GB Samsung, TT DVB-C 2.1, TT DVB-C 1500, VDR Extension Board, 12.1" TFT, Pearl Mod-It Gehäuse  
    Suse 10, Kernel 2.6.13-15.11-default, VDR 1.4.2-BP

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!