cp versus mv

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Meinux
Beiträge: 312
Registriert: 08.11.2002 05:05:55
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Leipzig

cp versus mv

Beitrag von Meinux » 30.12.2003 13:50:53

Guten Morgen,
Ich habe mal wieder eine Frage.
Wie kopiere ich eine Menge Dateien in verschieden Verzeichnissen in ein anderes Verzeichniss.
Zum Problem: Ich habe unterhalb von
/mnt/daten/pics
Bilder in verschiedenen Verzeichnissen liegen. Bilder wie man sieht.
Und die die Bilder, und nur die Bilder will ich in ein anderes Verzeichniss kopieren.
Und zwar nach
/mnt/daten/bilder
Wie kann ich das bewerkstelligen? Da gibt es doch ein nettes Tool oder so.
Mit cp und mv geht das m.E. nicht.
Es gibt eine Fehlermeldung, wenn ich die Option -r beigebe.
Fehlermeldung:
cp: Aufruf von stat für ,,*.jpg" nicht möglich: Datei oder Verzeichnis nicht gefunden

Greetz
Meinolf

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 30.12.2003 14:36:54

Wenn es /mnt/daten/bilder noch niht gibt, dann kannst du das einfach mit

Code: Alles auswählen

mv /mnt/daten/pics /mnt/daten/bilder
machen. Wenn es /mnt/daten/bilder schon gibt und auch Daten drin sind, dann mit

Code: Alles auswählen

mv /mnt/daten/pics/* /mnt/daten/bilder
Wenn in /mnt/daten/pics zu viele Datein sind, dann bekommst du eine Fehlermeldung. Dann musst du es mit

Code: Alles auswählen

find /mnt/daten/pics -exec mv {} /mnt/daten/bilder \;
machen. Die Variante dauert aber sehr lange weil fuer jede Datei ein Prozess gestartet wird.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

HorstV
Beiträge: 419
Registriert: 11.10.2003 18:34:22
Wohnort: Grenoble / Recklinghausen

Beitrag von HorstV » 30.12.2003 15:13:02

Gibt es eigentlich zu find /mnt/daten/pics -exec mv ... noch eine andere alternative bei vielen (!!!) Dateien in einem Verzeichnis? Das Problem hatte ich mal und das löschen der Dateien im Verzeichnis hat fast 3 Tage gedauert. (Ziemlich viele kleien Dateien!!)

Gruß Horst
SID on IBM T42p kernel 2.6.14.5 ati-8.20.8

Benutzeravatar
Meinux
Beiträge: 312
Registriert: 08.11.2002 05:05:55
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Leipzig

Beitrag von Meinux » 30.12.2003 15:24:11

Hei,
Ich habe mich da wohl doch noch nicht klar ausgedrückt.
In dem Verzeichniss, was ich kopieren will, sind auch andere Daten, die ich da aber nicht drin haben will.
Ausserdem gibt es da noch mehrere Unterferzeichnisse.
Und das sind alles Bilder mit der .jpg Endung.
Kann ich das auch über find machen, und dann an mv umleiten?
M

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 30.12.2003 15:46:47

Wenn du nur die Datein mit der Endung .jpg verschieben willst, dann geht das mit

Code: Alles auswählen

find /mnt/daten/pics -name *.jpg -exec mv {} /mnt/daten/bilder \;
Das verschiebt aber auch die Bilder aus den Unterverzeichnissen von /mnt/daten/pics nach /mnt/daten/bilder. Wenn du auch die unterverzeichnisse in /mnt/daten/bilder anlegen willst, dann wird es etwas anspruchsvoller, sollte aber mit basename und dirname kein Problem sein.

@Horst. Wie viele Datein sind das den bei dir? Schneller wird das mit einem Dateisystem das bei vielen Datein sehr performant ist (reiserfs, xfs), einer schnelleren Festplatte und entsprechend schnellem IDE Bus auf dem Mainboard....

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
Meinux
Beiträge: 312
Registriert: 08.11.2002 05:05:55
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Leipzig

Beitrag von Meinux » 30.12.2003 17:29:33

cool, das war es.
Danke.
Und es hat bei mir nicht sehr lange gedauert. Auch wenn es einige Files waren.
Gruss aus Zh
M

Benutzeravatar
Ponder_Stibbons
Beiträge: 378
Registriert: 10.09.2003 12:59:20
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Ponder_Stibbons » 30.12.2003 18:06:49

HorstV hat geschrieben:Gibt es eigentlich zu find /mnt/daten/pics -exec mv ... noch eine andere alternative bei vielen (!!!) Dateien in einem Verzeichnis? Das Problem hatte ich mal und das löschen der Dateien im Verzeichnis hat fast 3 Tage gedauert. (Ziemlich viele kleien Dateien!!)

Gruß Horst

Code: Alles auswählen

mv [a-k]* /zielort/
mv [l-z]* /zielort/
mv * /zielort/
sollte gehn. Gut du musst dremal tippen (mindestens, denn du kannst ja noch kleinere Unterteilungen machen ( zum Beispiel weil viel mit Grossbuchstaben beginnt oder es wirklich viele dateien sind)).
aber du kannst dir ja ein skript schreiben dem du den Start und den Zielordner als argumente übergibst.
Gruß Ponder

Antworten