• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Kopier-Algorithmus

g00rke

Empire
Registriert
18.09.10
Beiträge
87
Hallo liebe apfeltalker,

ich bin seit einer Woche endlich wieder stolzer Besitzer eines MBPR late 2013 und bin auch wieder fleißig am machen. Zu diesem Zeitpunkt bin ich gerade auf folgendes Problem gestoßen:

Mir liegt eine Ordnerstruktur in folgendem Stil vor:

ABC.Ordner01
ABC.Ordner02
ABC.Ordner03
...
ABC.OrdnerNN

In jedem Ordner liegt eine oder mehrere Dateien, die Namen variieren stark von einander. Ich möchte jetzt alle Daten aus den Ordnern ABC.Ordner in einen gemeinsamen Ordner XYZ.Ordner kopieren. Kann ich hierfür ein Script schreiben und wenn ja wie? Stehe total auf dem Schlauch und finde jede Hilfe toll.

Danke und bis dahin
g00rke
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Ich würde das im Terminal mit einem find machen. Skript ist dazu nicht notwendig:

Code:
cd /Pfad/zum/Ausgangsverzeichnis
find . -type f -exec cp {} /Pfad/zum/Zielverzeichnis \;

Kopie alle Dateien aus Unterordnern im Ausgangsverzeichnis nach Zielverzeichnis.
 

g00rke

Empire
Registriert
18.09.10
Beiträge
87
Okay, aber mein Problem ist, ich habe ewig viele Ordner und möchte die nervige Arbeit umgehen in jeden Ordner selbst rein zu müssen, dass soll er automatisch machen. Die Ordner heißen alle gleich und sind mit einer fortlaufenden Zahl nummeriert...
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Aber die Verzeichnisse ("ABC.Ordner01", ...) liegen doch alle in einem gemeinsamen Unterverzeichnis? Oder habe ich dich falsch verstanden?
 

g00rke

Empire
Registriert
18.09.10
Beiträge
87
Das habe ich undeutlich erklärt. Die Ordner ABC.Ordner01 -> ABC.OrdnerXX liegen in
/media/exthdd2
und kopieren möchte ich Sie nach
/media/exthdd2/XYZ.Ordner
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Genau, dann nimmst du einfach diese beiden Pfade und setzt sie oben ein. Damit werden alle Dateien in eine flache Hierarchie im Zielverzeichnis kopiert. Oder haben wir immer noch ein Verständnisproblem? :)
 

g00rke

Empire
Registriert
18.09.10
Beiträge
87
Also wenn ich deinen Code eingebe passiert aus mir nicht verständlichen Gründen nichts, habe aber dein Code geändert in:

Code:
find ABC.Ordner* -iname '*.jpg' -exec mv {} "/media/exthdd2/XYZ.Ordner" \;

Damit hat es einwandfrei funktioniert :) Danke für deine Hilfe!