TV-Kanäle aussortiren

  • Hallo,


    Ich habe hier ein Script, der die channels.conf nach Frequency sortiert:


    Wie soll man den Script erweitern, damit er mir zB. nur TV-Kanäle in $outdir abspeichert? Sprich wenn VPID nicht 0 ist. Aber gleichzeitig die Trennzeichen ":== Frequency" überall einfügt.



    Danke.

  • Man muss nur alle Kanäle mit einer VideoPID von 0 oder 1 entfernen.
    Eigentlich sollte es klappen das folgende nach Zeile 31 (nach dem do) einzufügen.

    Code
    1. T=`echo $line | cut -d: -f6`
    2. if [ "$T" = "0" -o "$T" = "1" ]
    3. continue
    4. fi

    Gruss
    SHF


  • SHF


    Danke für Hilfe, leider gibt es wohl ein syntax error:

    Code
    1. ./test.sh: line 38: syntax error near unexpected token `fi'
    2. ./test.sh: line 38: ` fi'
    3. vdr:~#


    Und so habe es eingetragen:


    Danke.

  • @Ioannis


    Danke, genau das war es auch :)


    Jetzt habe ich nach eine Lösung gesucht, dass man die Zeilen rausschmeissen soll, die bei VPID eine Zahl grösser als 0 oder 1 haben, hier ist mein Versuch:

    Code
    1. T=`echo $line | cut -d: -f6`
    2. if [ "$T" = "0" -gt "$T" = "1" ]
    3. then
    4. continue
    5. fi


    Code
    1. ./test.sh: line 88: [: too many arguments


    da habe also statt -o das -gt eingefügt, das hat natürlich nicht geklappt. Wie ist denn eigentlich der richtige Syntax?


    Danke!

  • Zitat

    Original von Ioannis
    Fehlt da nicht ein "then" zwischen Zeile 36/37?

    Äääh ja :versteck.


    Zitat

    Original von neptunvasja
    Jetzt habe ich nach eine Lösung gesucht, dass man die Zeilen rausschmeissen soll, da habe also statt -o das -gt eingefügt, das hat natürlich nicht geklappt. Wie ist denn eigentlich der richtige Syntax?

    -gt geht da nicht, da es sich nicht um Zahl-Variablen handelt.
    Mein Vorschlag währe folgender:

    Zitat

    if [ ! "$T" = "0" -a ! "$T" = "1" ]

    Gruss
    SHF


    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von SHF ()

  • Irgendwie geht es nicht, dass die Zeilen mit VPID grösser als 0 rausgeschmiessen werden:

    Code
    1. cat /channels/RADIO/*.conf|cut -d":" -f6 | sort | uniq > test.conf


    Ergebniss:


    Aber mit TV Kanälen geht es wohl:

    da kommt kein 0 vor.

  • Ja, ist mein Fehler, hatte beim copy&paste die falsche Zeile erwischt.
    Ist inzwischen oben korrigiert.

    Gruss
    SHF