find Befehl mehrere Suchkriterien

XertoX

Cadet 1st Year
Registriert
Nov. 2007
Beiträge
12
Hi@all

Also ich habe folgendes Problem.
Ich möchte mir aus einem Verzeichnis nur Dateien *.jpg *.jpeg und *.gif anzeigen lassen, bzw die items in eine Arayvariable speichern. ich habe schon gegooglet. Da ich es nicht mit ls hinbekommen habe.
So kam ich auf find -iname '*.jpg' <-das ist ja auch super nur weiß ich nicht/ versteh ich nicht wie ich diese Suchkriterien erweitern/ verketten kann.

sowas wie find -iname '*.jpg *.jpeg *.gif' geht nicht.
Was mach ich falsch. bzw wie kann man das lösen.

Vorab schon mal vielen Dank für die Hilfe.
 
Code:
find * | grep ^.*\.(jpg|jpeg|gif)$

evtl funktioniert das
 
find / -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.gif" \) -exec ls -l {} \;

oder

find / -regex ".*\.\(jpg\|jpeg\|gif\)"

(Sollten beide funktionieren.)

Edit: Sorry, hatte das "bestimmte Verzeichnis" überlesen - statt des ersten "/" dann das Verzeichnis angeben, fürs 2. Beispiel also

find /pfad/verzeichnisname/ -regex ".*\.\(jpg\|jpeg\|gif\)"
 
Zuletzt bearbeitet: (Korrektur)
AAaarggh wie simpel!!! Das mit dem -o zum verketten klappt.

Danke
 
Zurück
Oben