ADMIN-Tipp: Suchmuster umkehren

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Das Wildcard-Sternchen zum Anzeigen von Dateien, die einem bestimmten Muster entsprechen, kennt jeder. Doch was kann man tun, um alle Files anzuzeigen, die bestimmte Zeichen nicht enthalten?

Wohl jeder Unix-Administrator hat schon einmal "ls *.txt" in einer Shell eingegeben, um sich nur Dateien anzeigen zu lassen, die auf ".txt" enden. Um alle Dateien anzuzeigen, die diesem Muster nicht entsprechen, bietet die Bash-Shell ein spezielles Feature namens "Ext(ended) Glob(bing)." Aktiviert wird es mit der Eingabe "shopt -s extglob". Anschließend lässt sich mit dem Ausrufezeichen, das sonst für andere Zwecke reserviert ist, das eingegebene Muster negieren. Im folgenden Beispiel enthält ein Verzeichnis vier Dateien:

> ls
abar afoo bbar bfoo
> ls a*
abar afoo
> ls !(b*)
-bash: !: event not found

Aktiviert man nun mit "shop -s extglob" das Extended Globbing der Bash, funktioniert die Negation des Suchausdrucks wie gewünscht:

> shopt -s extglob 
> ls !(b*)
abar afoo
> ls !(a*)
bbar bfoo
> ls !(*foo)
abar bbar

Die Eingabe von "shopt -u extglob" schaltet das Feature wieder ab. Das Reference Manual der Bash führt die mit Extglob aktivierten Sonderzeichen auf:

?(pattern-list) Matches zero or one occurrence of the given patterns. 
*(pattern-list) Matches zero or more occurrences of the given patterns. 
+(pattern-list) Matches one or more occurrences of the given patterns. 
@(pattern-list) Matches one of the given patterns. 
!(pattern-list) Matches anything except one of the given patterns.

27.03.2012

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Was beim Sniffen erlaubt ist und was nicht

Ein Unternehmer möchte Fehlern in seinem Netz auf den Grund gehen und den Netzwerkverkehr aufzeichnen, um ihn zu analysieren. Was aber sagt das Datenschutzrecht dazu? (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Ausgabe /2014

Was halten Sie von Zertifizierungen, die Fachkenntnisse und Fertigkeiten nachweisen?

  • Sie sind in der Praxis nutzlos
  • Sind für uns ein wichtiges Einstellungskriterium
  • Liefern einen Anhaltspunkt für die Qualifikation

Microsoft Azure