• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Terminal-Endlosthread

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Da es hier noch nicht genügend Endlosthreads gibt, starte ich hiermit mal einen neuen. Thema: Kurze Frage, kurze Antwort zum Thema tägliche Command-Line-Probleme.

Folgendes Problem:
Ich habe ein Verzeichnis mit Zehntausenden von Dateien, flach, keine Unterverzeichnisse. Diese sollen jetzt jeweils in ein Unterverzeichnis verschoben werden, das mit dem ersten Buchstaben des Dateinamens beginnt. Also Alpha kommt in A, Beta in B usw. (Kür: das ganze case-in-sensitive, alpha soll also auch in A).

Wer kann helfen?
 
Zuletzt bearbeitet:
ich glaube nicht, dass das Sinn macht - außerdem gibt es dazu schon Doku.
Im Prinzip brauchst Du nur man find eingeben.
 
tschuldige, so meine ich das nicht. Nur hat das Problem exakt gar nichts mit dem Terminal zu tun. Das Terminal ist ja nur ein Dienstprogramm, um eine Shell zu erhalten - und zur Shell in all ihren Variationen gibt es nun wirklich genug Doku, die unter uns gesagt auch dabei ist.
 
/dest gibt den Pfad zu einem leeren Zielverzeichnis an, wohin die Dateien aus /src verschoben werden. Für einen ersten Testlauf kann natürlich der mv Befehl durch cp (kopieren) ersetzt werden.

Code:
for i in {A..Z}; do mkdir /dest/$i; find /src -type f -iname "$i*" -exec mv {} /dest/$i/ \; ; done