Problem mit find und mktemp

11/11/2010 - 15:36 von Lentes, Bernd | Report spam
Hallo,

habe in verschiedenen Unterordnern tif-Bilddateien liegen. Teilweise haben diese Dateien gleiche Namen. Ich möchte diese Dateien alle finden und mit einmaligem Namen in ein anderes Verzeichnis kopieren:

find . -iname '*.tif' -exec cp -v {} $(mktemp --tmpdir=../desktop_hintergrund_zentrum/).tif \;


Ergebnis ist:

`./Genes & Associates/Slide1.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide10.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide11.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide12.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide13.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide14.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide2.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
...

es werden alle Dateien mit gleichem Zielnamen kopiert. Man find sagt zu --exec command:

"The specified command is run once for each matched file" Also müsste mktemp doch jedes mal neu aufgerufen werden, und mir einen anderen Dateinamen generieren. Wieso macht es das nicht ?


Bernd




Bernd Lentes
Systemadministration
Institut für Entwicklungsgenetik
HelmholtzZentrum münchen
bernd.lentes@helmholtz-muenchen.de
phone: +49 89 3187 1241
fax: +49 89 3187 3826
http://www.helmholtz-muenchen.de/idg
Aufsichtsratsvorsitzende: MinDir'in Bàrbel Brumme-Bothe
Geschàftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum
Registergericht: Amtsgericht München HRB 6466

Zeit ist keine Schnellstrasse zwischen Wiege
und Grab, sondern Platz zum Parken in der Sonne

Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@opensuse.org
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@opensuse.org
 

Lesen sie die antworten

#1 Marcus Meissner
11/11/2010 - 15:38 | Warnen spam
On Thu, Nov 11, 2010 at 03:36:36PM +0100, Lentes, Bernd wrote:
Hallo,

habe in verschiedenen Unterordnern tif-Bilddateien liegen. Teilweise haben diese Dateien gleiche Namen. Ich möchte diese Dateien alle finden und mit einmaligem Namen in ein anderes Verzeichnis kopieren:

find . -iname '*.tif' -exec cp -v {} $(mktemp --tmpdir=../desktop_hintergrund_zentrum/).tif \;


Ergebnis ist:

`./Genes & Associates/Slide1.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide10.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide11.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide12.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide13.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide14.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
`./Genes & Associates/Slide2.tif' -> `../desktop_hintergrund_zentrum/tmp.q8CldaUAD3.tif'
...

es werden alle Dateien mit gleichem Zielnamen kopiert. Man find sagt zu --exec command:

"The specified command is run once for each matched file" Also müsste mktemp doch jedes mal neu aufgerufen werden, und mir einen anderen Dateinamen generieren. Wieso macht es das nicht ?



mktemp braucht XXXXXXX (6 X) im Filenamen um wechselnde Dateinamen zu erzeugen.
Evt sogar am Ende des Namens.

Ciao, Marcus
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+

Ähnliche fragen