Dateien im Verzeichnis ersetzen?

M

mexmano

Neues Mitglied
Thread Starter
Dabei seit
14.05.2014
Beiträge
7
Reaktionspunkte
0
Hallo MacUser Forum,

ich hoffe, jemand kann mir weiterhelfen.

Ich muss in einem Verzeichnis (ca. 225 Ordner) alle beinhalte Bilder (ca. 1500) ersetzen. Momentan kopiere ich die neuen Bilden einzeln ins Verzeichnis.

Hat evtl. jemand einen Tipp für mich wie es schneller geht.

Habe bereits rsync im Terminal ausprobiert. Klappt leider nicht :(

Über Hilfe würde ich mich sehr freuen :)

mexmano
 
"cp" im Terminal benutzen.
 
Danke für die Antwort. Ich habe es mal ausprobiert.

cp -r quelle ziel

Dabei werden dann die Bilder nur einfach in den (Haupt-) Zielordner kopiert und nicht die Bilder in den einzelnen Verzeichnis ersetzt.

http://ss64.com/osx/cp.html
 
cp -R /Users/mexmano/Desktop/Bilder/ /Users/mexmano/Desktop/Xloop/

Im (Quell)-Ordner "Bilder" sind alle Bilder einzeln gespeichert ohne Verzeichnis oder Struktur!

Nun sollen diese Bilder im (Ziel)-Ordner "Xloop", die bereits vorhanden Bildern die jeweils in 225 Verzeichnissen liegen, ersetzen.

Klappt das überhaupt?
 
Was meinst Du mit "Quelle alle Bilder einzeln"
und
"in 225 Verzeichnissen"???
 
Ich habe ein Bildarchiv dort sind insgesamt 1500 Bilder in einem Baumverzeichnis gespeichert. Jetzt sollen alle Bilder ersetzt werden. Dafür habe ich 1500 neue Bilder bekommen. Allerdings wurde die einfach alle einzeln in einem Ordner gespeichert. Ich muss halt die neuen Bilder in das alte Verzeichnis bekommen.

Wenn ich es von Hand mache dauert es echt lange :(

Danke, für Deine Antworten
 
Mit CP geht das jedenfalls nicht weil cp nicht in einer vorhandenen Struktur nach Dateien sucht.


In dem Fall mit viel Gefummel in der Shell mit find, grep usw. hantieren oder alternativ ein Script über Excel-Bande frickeln.
 
Suche in dem Verzeichnis und den darunterliegenden nach zBsp alle jpg-Dateien (Endung jpg).
Wenn diese angezeigt werde wähle alle aus und kopiere diese dann wohin du sie möchtest.
 
Danke, das Funktioniert leider nur in die falsche Richtung. Alle Jpg habe ich ja, sie müssen halt nur jeweils in die Ordnerstruktur um dort die alte jpg zu ersetzen. Einfach gesagt den Weg wieder zurück in den Ordner :)
 
Zum Glück hast Du Deine Frage so gestellt dass man erst jetzt versteht was Du eigentlich machen willst!

Naja, dann viel Spass beim Kopieren.
 
Zum Glück hast Du Deine Frage so gestellt dass man erst jetzt versteht was Du eigentlich machen willst!
Ja dachte ich mir auch nach mehrmaligem Lesen des Threads. Immer diese unwichtigen Details, die so peu à peu nachgereicht werden…

Eine richtig einfache Lösung gibt es für dieses Problem nicht. Du brauchst ein Skript, das für alle Dateien prüft, wo gleichnamige Dateien auf dem Zielvolume bereits liegen, um diese dann zu ersetzen. Synchronisationsprogramme helfen da nicht, die ordnen nicht Dateien aus einem Quell-Verzeichnis in unterschiedliche Zielverzeichnisse, vor allem nicht, wenn es offensichtlich keine simplen Kriterien gibt, sondern es nur darum geht, wo die Dateien auf dem Ziel eingeordnet sind.
 
Sorry, hatte das ich mich so kompliziert ausgedrückt habe :)

Stehe etwas unter Druck. Das ganze muss morgen fertig sein. Naja, da wird eine Nachtschicht eingelegt.

Trotzdem vielen Dank für die Antworten!
 
Voraussetzung:
~/Desktop/Xloop/ ist das Stammverzeichnis in dem keine Bilder enthalten sind, nur die 225 Unterordner (und darin Bilder).

0. Backup von ~/Desktop/Xloop machen
1. Verschiebe die neuen 1500 Bilder nach ~/Desktop/Xloop/
2. Terminal öffnen und eingeben (besser kopieren):
Code:
cd ~/Desktop/Xloop
3. Folgendes eingeben (besser kopieren):
Code:
shopt -s nullglob; for f in *.jpg; do find . -mindepth 2 -name "$f" -exec [COLOR=#ff0000]echo[/COLOR] mv -v "$f" {} \; ; done; shopt -u nullglob

Es wird erst simuliert, um die Ausgabe zu prüfen.
Wenn alles richtig aussieht, 3. wiederholen, aber dabei "echo" weglassen.
 
vielen vielen DANK! DU BIST EIN GENIE!!!

Es hat super geklappt :)
 
Toll. Nicht simpel, aber doch knapp und irgendwie einfach, wenn man's halt kann…
Warum gibt es da keinen Danke-Button für den alten italienischen Schreibmaschinenbastler?

Ich würde es begrüßen, wenn der Experten irgendwann mal ein wenig erläutert, was sein Vierzeilen-Shellscript so im einzelnen macht. Man lernt ja gerne.
 
Zum Glück hast Du Deine Frage so gestellt dass man erst jetzt versteht was Du eigentlich machen willst!
Ja dachte ich mir auch nach mehrmaligem Lesen des Threads. Immer diese unwichtigen Details, die so peu à peu nachgereicht werden…
Na also ich bin ja auch ein Freund von klaren Ansagen und frage öfters erst mal nach wenn etwas schräg formuliert wird, aber hier ist doch schon im ersten oder allerspätestens im zweiten Post des TE völlig klar was er will? :noplan:


Es hat super geklappt :)
Wow, Respekt.
Und auch noch als One-Liner.

Wer hat eigentlich den Danke-Button versteckt???
 
Code:
shopt -s nullglob; for f in *.jpg; do find . -mindepth 2 -name "$f" -exec [COLOR=#ff0000]echo[/COLOR] mv -v "$f" {} \; ; done; shopt -u nullglob

Hat was. Aber genau so etwas meinte ich mit "[FONT=Verdana, Arial, Geneva, sans-serif]In dem Fall mit viel Gefummel in der Shell mit find, grep usw. hantieren". [/FONT]

[FONT=Verdana, Arial, Geneva, sans-serif]Ich frage mich allerdings was das Script macht wenn es eine Datei im Quellordner findet, die in keinem Unterordner vorkommt. Oder wenn eine Datei in 2 Unterordnern vorkommt.[/FONT]

[FONT=Verdana, Arial, Geneva, sans-serif]Keine Kritik, aber bei solchen scripts muss man immer höllisch aufpassen und sollte ziemlich sicher sein wie die Dateien aufgebaut und verteilt sind.[/FONT]
 
Zurück
Oben Unten