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