root-Verzeichnis von absolutem Pfad ermitteln

  • Hallo,


    vielleicht kann mir ja jemand auf die Sprünge helfen.


    Ich benötige von einem Aufnahmeverzeichnis, z. B.

    Code
    /video0/The_Da_Vinci_Code_-_Sakrileg/2012-11-25.13.57.6-0.rec


    das root-Verzeichnis (/video0) sowie dem darauf folgenden Rest.


    Wie am besten auseinander nehmen? Mit basename klappt es ja ohne Probleme in die "andere Richtung". Für meinen Fall hab ich aber leider kein entsprechendes Tool gefunden.


    Gruß


    Sebastian

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

  • Mit dirname hatte ich es auch probiert, doch damit komme ich auch nicht an mein Ziel. Beim o. g. Beispiel liefert dirname ja nur

    Code
    /video0/The_Da_Vinci_Code_-_Sakrileg

    und nicht

    Code
    /video0

    .

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

  • Dann machst du nen zweites dirname ;)


    Ich habe hier nen ähnlichen Fall/ähnliches Problem: http://projects.vdr-developer.…fskprotect/R10.fskprotect -> check_protection()


    Das Basisvideodirectory muss man einfach fix vorgeben. Das kann man nicht irgendwie automatisch clever ermitteln. Und man kanns auch nirgens sicher abfragen.


    cu

  • Wenn es nicht zeitkritisch ist, kannst Du folgendes probieren:

    Bash
    #!/bin/bash
    absolute_path=$( pwd )
    
    
    echo ${absolute_path} |  tr / ' ' | awk '{ print $1; }'


    also in "absolute_path" steht der Pfad, den Du bearbeiten willst. Klar oder ;)


    Wenn Du das erste Verzeichnis in einer Variablen brauchts, kannst Du das so machen:

    Bash
    #!/bin/bash
    absolute_path=$( pwd )
    
    
    first_dir=$( echo ${absolute_path} |  tr / ' ' | awk '{ print $1; }' )
    
    
    echo ${first_dir}


    Wenn Du ne schnellere Variante suchst, solltest Du Dich mal mit sed anfreunden ;)


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Code
    echo "/$(dirname $(pwd)|cut -d '/' -f 2)"


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Noch einer (nur in bash):

    Code
    viddir=${PWD#/*/}
    tld=${PWD%/$viddir}

    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.7

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git, aber alt)

  • schön!


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

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