Montag, 25. Februar 2013

Beliebig viele nummerierte Ordner mit einem Befehl erstellen (Linux)

Diese Situation kennt bestimmt jeder, man braucht mehrere nummerierte Ordner und hat keine Lust jeden einzeln zu erstellen. Für diejenigen die nicht wissen, was gemeint ist, hier ein kleines Beispiel:
Man ist Programmierer und möchte seine fertigen Projekte nach Jahren sortiert auf einer externen Festplatte archivieren. Natürlich kann man jeden Ordner einzeln erstellen, doch es gibt eine viel komfortablere Möglichkeit. Man wechselt mit dem Terminal in das Verzeichnis, in welchem man die Ordner erstellen möchte:

cd gewünschtes/Verzeichnis

Der Befehl zum Erstellen der Ordner sieht folgendermaßen aus:

for i in {x1..x2}; do mkdir "Ordnername ${i}"; done

Was auf den ersten Blick vielleicht etwas kompliziert aussieht, ist eigentlich überhaupt nicht schwer. Die Ordner werden mit Hilfe einer for-Schleife durchnummeriert, dabei geht die Variable i alle der for-Schleife übergebenen Argumente durch. x1 und x2 stellen den Anfangswert und den Endwert dar. Möchte man z.B. 50 Ordner erstellen kann man für x1 eine 1 und für x2 eine 50 schreiben, natürlich geht auch jeder andere Zahlenbereich (z.B. 250..299, etc). Der Befehl mkdir erstellt die Ordner mit dem übergebenen Namen, mit ${i} erhält man den Wert der Variablen i, da dieser nach jedem Schleifendurchlauf verschieden ist, wird bei jedem Durchlauf ein neuer Ordner erstellt. 
Um wie im obigen Beispiel z.B. ein nach Jahren sortiertes Archiv (z.B. von 2009 bis 2013) für seine Projekte anzulegen, sieht der Befehl folgendermaßen aus.

for i in {2009..2013}; do mkdir "Projekte ${i}"; done

Die nun im Verzeichnis liegenden Ordner sind demnach:

Projekte 2009    Projekte 2010    Projekte 2011
Projekte 2012    Projekte 2013

Keine Kommentare:

Kommentar veröffentlichen