Forum: PC-Programmierung UNIX/LINUX: nach mehreren Extensions filtern


von Walter S. (avatar)


Lesenswert?

mit
ls *.tif
bekomme ich eine Liste aller .tif Dateien.

Ich bräuchte sowas ähnliches wie
ls *.tif/.xcf
mit dem ich alle .tif und .xcf Dateien kriege

Ich könnte die Befehle zwar hintereinander aufrufen, aber geht sowas 
auch mit einem Aufruf?

von Micha (Gast)


Lesenswert?

Hallo

einfach mit mehreren Filtern aufrufen

ls *.tif *.xcf

sollte das gewünschte Ergebnis liefern.


Gruss

    Micha

von user (Gast)


Lesenswert?

ls | grep -E '*.tif|*.xcf'

Du kannst dir das Ganze auch mit einem Alias bzw. einer Funktion 
vereinfachen.

von CC (Gast)


Lesenswert?

ls *.tif *.xcf ;)

von EcmSpy (Gast)


Lesenswert?

find .| grep  '\.tif\|\.xcf'

von Kommandozeilen vor dem Frühstück für Alle! (Gast)


Lesenswert?

1
$ ls *tif *xcf anfang* *mitte*
2
$ ls *f
3
$ ls *[ic]f
4
$ ls [aA]nfang* April[0-9]*txt *[eE]nde

Nachlesen bei man bash im Abschnitt Globbing; je nach System ev. 
auch man -k globbing

von Walter S. (avatar)


Lesenswert?

Micha schrieb:
> ls *.tif *.xcf

das gefällt mir am besten,
vielen Dank an alle

von Yalu X. (yalu) (Moderator)


Lesenswert?

Die Bash kann auch Brace Expansion:
1
ls *.{tif,xcf}

bzw.
1
ls *.{ti,xc}f

Das bringt in diesem Fall zwar nicht so viel, in anderen Fällen aber
schon, z.B. hier:
1
ls {bild,picture}*.{tif,xcf,png,jpg}

Das wäre ausgeschrieben:
1
ls bild*.tif bild*.xcf bild*.png bild*.jpg picture*.tif picture*.xcf picture*.png picture*.jpg

Edit:

Wenn du in der Bash die Option extglob setzt (shopt -s extglob), sind
zusätzlich zu *, ? und [] noch weitere hilfreiche Konstrukte in Patterns
möglich:

  https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html

: Bearbeitet durch Moderator
von +/- (Gast)


Lesenswert?

Yalu X. schrieb:
> Das bringt in diesem Fall zwar nicht so viel, in anderen Fällen aber


Namen sind Schall und Rauch, vieles hat ja gar keine Extension.
Noch ne Mglkt., mit file auf content pruefen.
(Praktisch um Text zu finden, oder was man halt sucht ...)


find . -maxdepth 1 -exec file -i {} \; | grep gesuchter Typ

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.