Mailinglist Archive: opensuse-de (1985 mails)

< Previous Next >
Re: Files in lexikalischer Reihenfolge kopieren
  • From: Jan Ritzerfeld <suse@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Sun, 5 Feb 2006 15:08:01 +0100
  • Message-id: <200602051508.02101.suse@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Am Sonntag, 5. Februar 2006 13:39 schrieb Roland Langner:

> Jan Ritzerfeld wrote:
> (...).
> > Oder benutzt du cp -r?
>
> Vielen Dank für die Antwort. Mit cp quellverzeichnis/*.mp3
> zielverzeichnis funktioniert es natürlich. Ich möchte aber gern cp -r
> verwenden (bzw die Ordner im Konqueror copy und pasten) um z.B. alle
> Alben eines Interpreten mit einem Befehl übertragen zu können. Bei
> mehrstufigen Verzeichnissen ist es sonst zu mühsam.

Für mehrstufige Verzeichnisse fällt mir spontan auch nichts ein. :-(

Meine erste Idee war sowas wie:
find . -maxdepth 1 -name "*.mp3" -print0 | sort -z | xargs -0 echo
Mit "cp --target-directory=bla/" statt "echo" funktioniert das für
eine Verzeichnisebene (-maxdepth 1). Für mehrere natürlich nicht,
die Dateien landen nämlich alle im selben Verzeichnis.

Vielleicht geht das mit tar? So von der Idee her wie hier:
http://portal.suse.com/sdb/de/1997/09/maddin_kopieren.html
Das kombiniert mit dem obigen find und dem tar-Schalter -T:
find . -name "*.mp3" -print0 | sort -z | xargs -0 tar c -T - -O | (cd bla/ && tar x)
Wenn tar die übergebenen Dateinamen nicht umsortiert, sollte das gehn.

Achtung, das ist alles ungetestet. Für den Anfang würde ich das
erstellte tar nicht einfach direkt entpacken lassen (bevor es etwas
überschreibst), sondern in eine Datei schreiben:
find . -name "*.mp3" -print0 | sort -z | xargs -0 tar cf test.tar -T -
Danach kannst du es von Hand in dem Zielverzeichnis entpacken.

Gruß
Jan
--
If you knew what you were doing you'd probably be bored.

< Previous Next >