Dateien von A nach B kopieren und gleichzeitig umbenennen
Jonas Schrieb
lug-owl.de at schrieb.de
Wed Jul 9 22:17:47 CEST 2003
On Wed, Jul 09, 2003 at 09:43:17PM +0200, Jürgen Leibner wrote:
> Hi zusammen,
>
> kurze Frage: Wenn man Dateien von A nach B kopieren möchte, und dabei
> die kopierte Datei nach einem bestimmten Schema umbenennen möchte, wie
> geht das?
> Kann man eine Kombination aus find, tr und cp erstellen, oder muss ein
> Script her?
Ist die Frage, ab wann ein Script ein Script ist ;)
Also man kann es je nach Aufgabe mit einer Zeile bash-Script machen.
Wäre bloss gut zu wissen, was du genau machen möchtest. Hier mal ein
paar Anregungen:
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
jonas at eiulo:~$ for i in a/*; do cp $i b/`basename $i .tgz`.tar.gz; done
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
a.tar.gz b.tar.gz c.tar.gz d.tar.gz e.tar.gz f.tar.gz g.tar.gz
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
jonas at eiulo:~$ for i in a/*; do cp $i b/`date +%Y%m%d`-`basename $i`;
done
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
20030709-a.tgz 20030709-b.tgz 20030709-c.tgz 20030709-d.tgz
20030709-e.tgz 20030709-f.tgz 20030709-g.tgz
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
jonas at eiulo:~$ nr=1; for i in a/*; do cp $i b/`printf %03i
$nr`-`basename $i`; let nr++; done
jonas at eiulo:~$ ls a b
a:
a.tgz b.tgz c.tgz d.tgz e.tgz f.tgz g.tgz
b:
001-a.tgz 002-b.tgz 003-c.tgz 004-d.tgz 005-e.tgz 006-f.tgz
007-g.tgz
Das erste ändert die Endung. Das zweite hängt ein Datum vorne dran. Das
dritte eine laufende Nummer. Wenn du fragen hast oder etwas anderes
brauchst, frag nach.
HTH, Jonas
--
-----BEGIN GEEK CODE BLOCK (3.12)-----
GCS d- s: a18 C++ UL++>++++$ P+>+++ E- W++ N o? K- w-(--) O(?) M(?) V? PS+
PE-(--) Y+ PGP++ t+ 5 X+ R tv-() b(-) DI? D+ G e(*)>++++ h!>(---) r++ y?
-----END GEEK CODE BLOCK--------------
More information about the Linux
mailing list