ubuntuusers.de

Regex mit find verfeinern

Status: Ungelöst | Ubuntu-Version: Xubuntu 12.04 (Precise Pangolin)
Antworten |

glaskugel

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3771

find $PHOTOFIND -type f -regex ".*\(bib\|gif\|gpx\|jpg\|nef\|pef\|tif\|xmp\).*" | sort | while read -r PHOTO; do

O.a Befehl tut was er soll, aber ich denke, er passt nicht perfekt. Was muss ich ändern, damit in obigem Beispiel nach diesen Erweiterungen (am Ende) gesucht wird?

find $PHOTOFIND -type f -regex ".*\(bib\|gif\|gpx\|jpg\|nef\|pef\|tif\|xmp\).*$" | sort | while read -r PHOTO; do

Wäre das $-Zeichen am Ende richtig?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Es geht ja nur um die Dateimuster:

1
find  -type f -regex ".*\(bib\|gif\|gpx\|jpg\|nef\|pef\|tif\|xmp\).*"

Wenn Du nicht auf obib oder agif aus bist kannst Du den Punkt als \. in die Suche integrieren. Nach der Endung das .* ist einfach überflüssig.

1
find  -type f -regex ".*\.\(bib\|gif\|gpx\|jpg\|nef\|pef\|tif\|xmp\)"

glaskugel

(Themenstarter)

Anmeldungsdatum:
8. Juli 2010

Beiträge: 3771

Wenn Du nicht auf obib oder agif aus bist

Was meinst du mit obib und agif?

find  -type f -regex ".*\.\(bib\|gif\|gpx\|jpg\|nef\|pef\|tif\|xmp\)"

Was ist in diesem Fall, wenn die Erweiterung im Dateinamen vorkommt? ZB ein.biblisches.bmp oder ein.bib.bmp?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Du suchst nach Dateien mit der Endung .bib, nicht .obib - das ist damit.

Und biblisch passt schon nicht auf .bib, und außerdem endet der Ausdruck ja mit bib (oder gif, oder oder oder oder) und so wird auch koran.bibo nicht gefunden, auch ohne $. Es ist aber auch leicht sowas selbst einfach auszuprobieren.

Antworten |