UNIX/LINUX: nach mehreren Extensions filtern

Gast #4539120
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
Moderator #4539162
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
Gast #4539196
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren