bash: Pfadtiefe ermitteln

  • Hallo,


    wie stell ich mich am Dümmsten an, um in einem Pfad die Pfadtiefe festzustellen, also das Vorkommen von / zu ermitteln. Ich steh da etwas auf dem Schlauch.


    Danke,


    jsffm


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • pwd

    HD VDR - DVB-S(2) + DVB-T


    A7N8X-E Deluxe, Athlon XP-M 2600+, 1GB Ram, 1,5TB WD 15EADS.
    Ausgabedevice: EVGA 8400GS PCI
    Eingabedevices: Skystar2 DVB-S, TT S2-3200, Cinergy T2 DVB-T
    Software: FreeVDR 2.1:lovevdr


    VDR2 - DVB-T


    K6BV3+/66, K6-III 450MHz, 256MB. 80GB Samsung + 40GB Seagate
    Ausgabedevice: DXR3
    Eingabedevices: Lorenzen SL DVB-T PCI, Cinergy 1200 DVB-T
    Software: Mahlzeit ISO 3.2 :mahlzeit

  • Zitat

    Original von HenryH
    pwd

    ?? was bringt mir das?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Zitat

    Original von Tubby
    print working directory... und in der Ausgabe kannst dann die / zählen ;)

    LOL
    habe ich mich so unklar ausgedrückt?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Zitat

    Original von egal
    Hi,


    Code
    pwd | awk -F/ '{print NF-1}'

    mit awk habe ich mich noch nie beschäftigt, wohl ein Fehler. Scheint zu funktionieren, danke.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Zitat

    mit awk habe ich mich noch nie beschäftigt, wohl ein Fehler.


    Nein, nicht wirklich. Weil wofür ein externes Programm wie awk aufrufen, wenn die Bash das selbst kann?

    Code
    pfad="/das/ist/ein/ganz/langer/pfad/irgend/wo/hin"
    tiefe=${pfad//[^\/]/}
    echo Tiefe: ${#tiefe}


    Erklärung: In der 2. Zeile steckt ein Suchen/Ersetzen: Ersetze alle Zeichen in der Variablen Pfad (${pfad//), die kein Slash sind ([^\/]) durch gar nichts (/}). Übrig bleiben also nur die Slashes im Pfad, und die speicherst du in der Variablen "tiefe". Und ${#tiefe} liefert dir die Länge des Inhalts der Variablen Tiefe als Zahl.


    Viele Grüße, Mirko

  • Zitat

    Original von cooper

    Code
    pfad="/das/ist/ein/ganz/langer/pfad/irgend/wo/hin"
    tiefe=${pfad//[^\/]/}
    echo Tiefe: ${#tiefe}


    Viele Grüße, Mirko


    Danke, das ist genau das, was ich gesucht hatte, die 2. Zeile fehlte mir ;)


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

Jetzt mitmachen!

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