risc2000
Goto Top

find und das -exec Kommando

Hallo, ich möchte in einem Verzeichnis rekursiv mehrere Bilddateien konvertieren, dies soll mit der -exec Option realisiert werden.

Zunächst einmal ein Beispiel, um alle Bilder in dem Verzeichnis zu zählen:

# find -type f -name "*.jpg" -or -name "*.JPG" | wc -l 
11726

Es sind also 11726 Bilder im Verzeichnis

Das Problem ist jetzt, das die -exec Option im folgenden Beispiel nur auf die "*.JPG" ausgeführt wird und nicht auf die "*.jpg"

Beispiel:

# find -type f -name "*.jpg" -or -name "*.JPG" -exec file {} \; | wc -l 
7754

Wie zu sehen ist, werden jetzt nur noch 7754 Dateien gefunden, was genau auf die Anzahl der großgeschriebenen *.JPG Dateien zutrifft.

Wie kann die -exec Option auf beide Deinamen (also *.jpg und *.JPG) angewendet werden?

Danke.

Content-Key: 90038

Url: https://administrator.de/contentid/90038

Printed on: April 19, 2024 at 12:04 o'clock

Member: paulepank
paulepank Jun 17, 2008 at 12:05:37 (UTC)
Goto Top
Hallo,

so sollte es gehen

find -type f -name "*.[jJ][pP][gG]" -exec file {} \;|wc -l  

damit werden auch jPg oder JPg gefunden, aber wenn die nicht vorhanden sind, wars das

cu paulepank
Member: risc2000
risc2000 Jun 17, 2008 at 12:19:55 (UTC)
Goto Top
So geht's.

Danke @paulepank
Member: paulepank
paulepank Jun 17, 2008 at 12:49:28 (UTC)
Goto Top
muß mich selbst verbessern face-smile

find -type f -name "*.{jpg,JPG}" -exec file {} \;|wc -l  
ist besser.

cu paulepank
Member: risc2000
risc2000 Jun 17, 2008 at 12:57:49 (UTC)
Goto Top
Ja, das sieht noch besser aus.

thx
Mitglied: 6890
6890 Jun 18, 2008 at 16:23:12 (UTC)
Goto Top
Um das ganze noch einfacher zu machen...
find -type f -iname "*.jpg" -exec file {} \; | wc -l
Member: risc2000
risc2000 Jun 18, 2008 at 16:48:39 (UTC)
Goto Top
Perfekt.

In meinen manpages ist zu iname nichts zu finden.

Danke.