Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Shellscript zum Verschieben von Verzeichnissen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Malit
Gast





BeitragVerfasst am: 10. Jun 2002 13:59   Titel: Shellscript zum Verschieben von Verzeichnissen

Hallo, vielleicht kann mir jemand mal paar Anregungen geben. Hier die Aufgabe.
Es soll in einem großem Verzeichnisbaum alle Verzeichnisse gefunden werden, deren Verzeichnisname einer Jahreszahl entspricht. (z.B. 1988, 1999). Die gefundenen Verzeichnise
sollen um ein Ebene nach oben verschoben werde. Die zu verschiebenden Verzeichnise sind nicht leer. Es kommt dabei die tcsh zum Einsatz. Mit find funktioniert das auffinden der Verzeichnisse schon, aber irgendwie klappt es nicht diese Infos auch zu verwerten.
Foreach geht nicht, eine Pipe hab' ich nicht hinbekommen etc. Hat jemand eine Idee?
Danke für Eure Bemühungen.
Malit
 

Jochen
Gast





BeitragVerfasst am: 10. Jun 2002 14:47   Titel: Re: Shellscript zum Verschieben von Verzeichnissen

tcsh habe ich nie richtig zum Skripten gemocht... Nicht Fisch und nicht Fleisch, die Syntax. Aber egal:
code:
#!/bin/tcsh

foreach DIR ( `find . -type d -name '[0-9][0-9][0-9][0-9]' -depth -print` )
set PATH_OF_DIR=`dirname $DIR`
( cd $PATH_OF_DIR ; mv $DIR .. )
end


Die foreach-Schleife setzt einen vom find gefundenen Verzeichnisnamen pro Schleifendurchlauf in DIR. PATH_TO_DIR wird auf den Pfad-Anteil des Verzeichnissnamens gesetzt. In der mit runden Klammern gestarteten Subshell wird in das Verzeichnis gewechselt, in der das gefundene Verzeichnis steht und eine Ebene jöher gemovet. Das cd-Kommando betrifft nur die Subshell, daher steht das Skript zum nächsten Schleifedurchlauf wieder im Start-Arbeitsverzeichnis. Ob die Verzeichnisse leer sind oder nicht, sollte durch die "-depth"-Option zum find gegessen sein; mv macht zumindest unter Linux keine Schwierigkeiten dabei.

Und im übrigen ist die man-Page zu tcsh undurchsichtig.

Jochen
 

Malit
Gast





BeitragVerfasst am: 10. Jun 2002 15:03   Titel: Re: Shellscript zum Verschieben von Verzeichnissen

Danke Jochen!
Die tcsh ist nicht meine Idee, das ganze läuft auf MacOSX. (Eine Bash ist mir auch lieber)
Wieso die Klammern in der 3. Zeile?

Malit
 

Malit
Gast





BeitragVerfasst am: 10. Jun 2002 15:04   Titel: Re: Shellscript zum Verschieben von Verzeichnissen

An Jochen, vergiß die Frage nach den Runden Klammern. Hatte Deinen Kommentar übersehen.
Malit
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy