Beachten Sie, dass die Regex nicht ^
und $
nicht verwenden, da es immer die gesamte Zeichenfolge übereinstimmen muss. Außerdem beginnt der Pfad mit ./
, wenn das erste Argument zu find
.
ist, also müssen Sie es auch einschließen.
find -type f -not -regex '\./02.*'
Wenn Sie sogar Verzeichnisse ausschließen möchten, verwenden Sie .*/02.*
für die regex.
Wenn Sie wollen nur die Verzeichnisse ausschließen, Pattern-Matching, aber Sie wollen die Dateien zu halten, müssen Sie prune
verwenden nur für Verzeichnisse die Regex übereinstimmt, und -false
die Verzeichnisse aus der Liste zu entfernen:
find . -type d -regex '\./02.*' -prune -false -or -type f
Sie können auch Muster anstelle von Regex für einfache Fälle verwenden. Auf diese Weise können Sie -name
verwenden, um Unterverzeichnisse einzubinden:
find . -name '02*' -prune -false -or -type f