Größe der Ordner einer Variablen zuweisen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von peter.goesswein, 23.05.2007.

  1. #1 peter.goesswein, 23.05.2007
    peter.goesswein

    peter.goesswein Grünschnabel

    Dabei seit:
    23.05.2007
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo!

    Ich habe gerade mit Shell-Skripting angefangen und über ein wenig mit diversen Beispielen.

    Derzeit versuche ich gerade, die Größe der Verzeichnisse einer Variablen zuzuweisen - diese Verzeichnise sortiere ich vorher und gebe nur die n größen aus.

    ich hätte das so gelöst:
    b=`du -h $verzeichnis | sort -n | head -n $anzahl`
    echo $b

    eigentlich funktioniert das schon, aber leider werden mir die verzeichnisse als string ausgegeben - dh. es erfolgt keine Zeilenumbruch zwischen den einzelnen dateien.
    wie kann ich das nun machen, dass jede datei in einer neuen zeile steht?

    herzlichn dank, mfg peter
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Hallo,

    das geht eigentlich indem du "$b" machst (also mit Anführungszeichen)
    Code:
    b=`du -h $verzeichnis | sort -n | head -n $anzahl`
    echo [color=red]"[/color]$b[color=red]"[/color]
    
    Dann kommt das so raus:
    Code:
    ~/test> ./test.sh
    0       ./test1
    0       ./test2
    0       ./test3
    
     
  4. #3 peter.goesswein, 23.05.2007
    peter.goesswein

    peter.goesswein Grünschnabel

    Dabei seit:
    23.05.2007
    Beiträge:
    6
    Zustimmungen:
    0
    loool...so einfach kanns gehen! herzlichen dank :o)
     
  5. #4 jürgen, 24.05.2007
    jürgen

    jürgen Grünschnabel

    Dabei seit:
    22.05.2007
    Beiträge:
    8
    Zustimmungen:
    0
    beim Testen deines Statements
    b=`du -h $verzeichnis | sort -n | head -n $anzahl`
    echo "$b"
    hast Du mittlerweile bestimmt schon gemerkt, dass Du gewisse "Ungenauigkeiten" (um es nicht "Fehler" zu nennen ;-) hast, oder?


    auf einer meiner Linux-Maschinen liefert dein Statement z. B. so was:
    Code:
    $ verzeichnis=85LATEST
    $ anzahl=100
    $
    $ b=`du -h $verzeichnis | sort -n | head -n $anzahl`
    $ echo "$b"
    0       85LATEST/java
    0       85LATEST/src/cpp
    0       85LATEST/src/cpp/protout
    2.2M    85LATEST/bat
    4.0K    85LATEST/files
    4.0K    85LATEST/files/par
    4.0K    85LATEST/install/jetform
    5.7M    85LATEST/toolsV3
    11M     85LATEST/convfile
    12M     85LATEST/copy
    20K     85LATEST/etc
    28M     85LATEST/sql
    66M     85LATEST/src
    94M     85LATEST/bin
    123M    85LATEST/install
    225K    85LATEST/install/custom
    341M    85LATEST
    601K    85LATEST/menu
    $
    
    1. falsche Sortierreihenfolge wegen der -h(uman)-Angabe
    2. falsche Sortierung, das kleinste Verz. steht vorne, nicht das größte
    3. $verzeichnis selbst taucht in der Auflistung auch auf (das ist
    aber vielleicht ja auch so gewollt)


    so (-h weg, -r(ecursive) dazu, grep dazu) sähe es m. E. schon besser/richtiger aus:
    Code:
    $ b=`du $verzeichnis | sort -n -r | grep -v "$verzeichnis$" | head -n $anzahl`
    $ echo "$b"
    125918  85LATEST/install
    95387   85LATEST/bin
    66982   85LATEST/src
    28597   85LATEST/sql
    12052   85LATEST/copy
    11041   85LATEST/convfile
    5773    85LATEST/toolsV3
    2185    85LATEST/bat
    601     85LATEST/menu
    225     85LATEST/install/custom
    20      85LATEST/etc
    4       85LATEST/install/jetform
    4       85LATEST/files/par
    4       85LATEST/files
    0       85LATEST/src/cpp/protout
    0       85LATEST/src/cpp
    0       85LATEST/java
    $
    $ anzahl=4
    $ b=`du $verzeichnis | sort -n -r | grep -v "$verzeichnis$" | head -n $anzahl`
    $ echo "$b"
    125918  85LATEST/install
    95387   85LATEST/bin
    66982   85LATEST/src
    28597   85LATEST/sql
    $
    
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Größe der Ordner einer Variablen zuweisen

Die Seite wird geladen...

Größe der Ordner einer Variablen zuweisen - Ähnliche Themen

  1. max. ordner größe festlegen

    max. ordner größe festlegen: hallo.. ich hab ein nettes kleines script geschrieben das bei jedem runterfahren folgendes macht: /home/user/Documents packen ping website...
  2. Ordner bis bestimnte Größe auf DVD brennen

    Ordner bis bestimnte Größe auf DVD brennen: Hi, ich versuche ein Script zu basteln um einen Ordner ab einer bestimmten Größe und bis zu einer bestimmten Größe auf DVD zu brennen. Der...
  3. xmms verschluckt sich bei großen Ordnern

    xmms verschluckt sich bei großen Ordnern: Wenn ich versuche, meinen Musikordner in die playlist von xmms einzufügen, knockt ihn das neuerdings völlig aus - Titel lassen sich nicht mehr...
  4. Dateien in Ordnern in eine Liste schreiben mit der Größe der Datei???

    Dateien in Ordnern in eine Liste schreiben mit der Größe der Datei???: Hallo zusammen, habe ein kleines Verständnisproblem, habe folgendes Script geschrieben, welches in einem Hauptordner "ftp" Dateien sucht mir...
  5. WANTED: Linux Ordnergröße

    WANTED: Linux Ordnergröße: Hallo, Ich hoffe hier kann mir geholfen werden. Ich würde gern erfahren, wie viel Speicherplatz ein leerer Ordner im Linux-Verzeichnisbaum...