find ... -exec cp

Bash, Shell, PHP, Python, Perl, CGI
mmmichael
Posts: 29
Joined: 2002-05-21 11:09

find ... -exec cp

Post by mmmichael »

Hallo,

um die Dateigrösse von bestimmten Dateien zu überprüfen, suche ich diese via

find ./ -name *-original.jpg

ersteinmal raus.

Jetzt würde ich diese gefundenen Dateien am lieben via

find ./ -name *-original.jpg -exec cp -v '{}' '/tmp/test/{}' ';'

umkopieren, scheitere jedoch an dem Dateipfad.

cp versucht nach /tmp/test/www.domain.de/images/foo-original.jpg zu kopieren, scheitert jedoch daran, dass das Verzeichnis nicht vorhanden ist.

Gibts bei cp vielleicht auch diesen Schalter -p (wie bei mkdir), der automatisch als notwendigen Verzeichnisse (in diesem Fall http://www.domain.de/images) anlegt?

Irgendwelche Ideen?

Gruss
Michael
drsnuggles
Posts: 9
Joined: 2002-11-04 20:52

Re: find ... -exec cp

Post by drsnuggles »

kleiner hinweis zu anfang:

Code: Select all

find ./ -name *-original.jpg 
besser durch

Code: Select all

find ./ -name "*-original.jpg"
beide kommandos liefern nur selten die gleichen ergebnisse und ersteres ist extrem fehleranfaellig :(
Gibts bei cp vielleicht auch diesen Schalter -p (wie bei mkdir), der automatisch als notwendigen Verzeichnisse (in diesem Fall http://www.domain.de/images) anlegt?
hmm..schon mal "man cp" probiert!? :wink:

Code: Select all

find ./ -name "*-original.jpg" -exec "cp -Pv {} /tmp/test/ ;" 
sollte dich begluecken, allerdings ungetestet.
mmmichael
Posts: 29
Joined: 2002-05-21 11:09

Re: find ... -exec cp

Post by mmmichael »

DrSnuggles wrote:

Code: Select all

find ./ -name "*-original.jpg" -exec "cp -Pv {} /tmp/test/ ;" 
Hi,
jau, das ist es, jedoch veraltet, da nicht POSIX konform.

Gruss
Michael