Jeden Ordner extra zippen.

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Steppengewächs, 22.09.2008.

  1. #1 Steppengewächs, 22.09.2008
    Steppengewächs

    Steppengewächs Jungspund

    Dabei seit:
    12.08.2007
    Beiträge:
    24
    Zustimmungen:
    0
    Ort:
    .at
    Hallo Leute!

    Ich hab mich letztens wieder einmal an einem Shell Script versucht.

    Ich wollte einen Ordner wegkopieren, danach in den eben kopierten Ordner wechseln und mittels ls -d */ die Ordner der ersten Ebene auslesen und in einer Text-Datei speichern. Klappt soweit auch.

    Danach wollte ich einfach die Text-Datei mittels for-Schleife durchschleifen und jeden Ordner in der ersten Ebene in einen eigenen Tarball klopfen. Zum Schluss dann noch einen gesamten Tarball über die eben erstellen Tarballs drüber, fertig.

    Leider kriege ich bei ls -d */ die Ordnernamen mit einem / am Ende zurück, somit klappt gar nichts mehr. Ich weiß da gibt es ein Replace awk oder awp oder sowas.

    Nun meine Frage hat jemand eine andere Idee für das Script? Oder gibt es vl. bei Tar einen Befehl der jeden Ordner extra in einen Tarball wirft bei dem angegeben Root-Pfad.

    Danke!
    lg
     
  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    schau Dir mal find an...
     
  4. #3 Steppengewächs, 22.09.2008
    Steppengewächs

    Steppengewächs Jungspund

    Dabei seit:
    12.08.2007
    Beiträge:
    24
    Zustimmungen:
    0
    Ort:
    .at
    Ja nur durchsucht er das gesamte Verzeichnis und gibt mir alles, inklusive aller Unterunterordner zurück. Ich möchte ja nur die Ordner der ersten Ebene extra weg zippen.
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    dann solltest Du Dir die Optionen von find nochmals genauer anschauen...
     
  6. #5 bytepool, 22.09.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    also da wuerden mir zig Loesungsmoeglichkeiten einfallen, aber um bei deinem konkreten Problem zu bleiben:
    Code:
    mydir=test/
    echo ${mydir%/}
    Ausgabe: test
    
    Mit variable expansion laesst sich der Slash am Ende ohne Probleme abtrennen.

    mfg,
    bytepool
     
  7. #6 Steppengewächs, 22.09.2008
    Steppengewächs

    Steppengewächs Jungspund

    Dabei seit:
    12.08.2007
    Beiträge:
    24
    Zustimmungen:
    0
    Ort:
    .at
    Danke bytepool! :D
     
  8. #7 Wolfgang, 22.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    find kennt die Option -maxdepth N!
    Damit kannst du einfach die Suchtiefe (n) festlegen.
    Bei dir wär N=1.

    Wolfgang
     
  9. #8 Der_Wolf, 22.09.2008
    Der_Wolf

    Der_Wolf Jungspund

    Dabei seit:
    23.07.2008
    Beiträge:
    13
    Zustimmungen:
    0
    Hi,

    auch der Befehl:

    $(dirname $Pfad)

    liefert den Pfad ohne / am Ende

    mfg
     
  10. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    hat nur den Nachteil, daß die letzte Ebene fehlt.
    Code:
    [root@web1 usr]# find . -maxdepth 1 -type d
    .
    ./share
    ./local
    ./kerberos
    ./lib64
    ./src
    ./sbin
    ./lib
    ./include
    ./etc
    ./libexec
    ./games
    ./bin
    [root@web1 usr]# find . -maxdepth 1 -type d -exec dirname {} ';'
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    
    -> müßte noch um basename ergänzt werden...
     
  11. #10 Der_Wolf, 23.09.2008
    Der_Wolf

    Der_Wolf Jungspund

    Dabei seit:
    23.07.2008
    Beiträge:
    13
    Zustimmungen:
    0
    Oh hast recht,

    sorry fürs falsch posten :(

    mfg
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 floyd62, 23.09.2008
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Evtl. tuts ja auch schon ein einfaches
    Code:
    find * -type d -prune
    
    Gruss ...
     
  14. #12 Wolfgang, 23.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Bei find ist es ohnehin ratsam, mit absolutem Pfad zu arbeiten.
     
Thema:

Jeden Ordner extra zippen.

Die Seite wird geladen...

Jeden Ordner extra zippen. - Ähnliche Themen

  1. passwörter samba für jeden Ordner

    passwörter samba für jeden Ordner: (GELÖST) passwörter samba für jeden Ordner Hallo, mein probelm ist eigentlich ganz einfach. :hilfe2: Ich füge in Samba am Server einen neuen...
  2. Anzeigemodus für jeden Ordner seperat einstellen

    Anzeigemodus für jeden Ordner seperat einstellen: Wie speichert man bei Konqueror für unterschiedliche Ordner unterschiedliche Anzeigemodi? Also für Ordner1 Listenansicht, für Ordner2...
  3. Ordner für jeden Monat erstellen

    Ordner für jeden Monat erstellen: Hallo! Irgendwie werde ich nicht warm mit der Bash. Aus für mich unerfindlichen Gründen scheitere ich an den einfachsten Aufgaben. Brauche Hilfe!...
  4. parameter zählen und jeden einer variable zuordnen

    parameter zählen und jeden einer variable zuordnen: hallo shell-freunde. ich befasse mich nur in meiner freizeit mit shellscripten, stehe aber nun vor einem problem, bei dessen lösung ich ein wenig...
  5. Speicherzugriffsfehler bei jeden Linuxboot

    Speicherzugriffsfehler bei jeden Linuxboot: Hallo, ich habe Linux installiert also schon mehrere Distributionen aber es kommt immer wenn ich starte "Speicherzugriffsfehler" und es stürzen...