Linux-Workshop

Shell Scripting im Admin-Alltag

14.02.2013 | von Thomas Steudten

Achtung bei Groß- und Kleinschreibung

Dem aufmerksamen Leser wird aufgefallen sein, dass "[a-h]*.gz" auch Dateien mit großem Anfangsbuchstaben erfasst, während "a*.gz" und "A*.gz" unterschiedlche Ergebnisse liefern:

> touch Haus haus

> ls h*

haus

> ls H*

Haus

> ls [a-z]*

haus Haus

> ls [A-Z]*

haus Haus

Wird die Shell-Option "nocaseglob" gesetzt, dann ist das Globbing case-insensitive, das heißt unabhängig von Groß- und Kleinschreibung:

> shopt | grep --color glob

dotglob off

extglob on

failglob off

globstar off

nocaseglob off

nullglob off

> shopt -s nocaseglob; shopt | grep --color nocaseglob

nocaseglob on

> ls h*; ls H*

haus Haus

haus Haus

Der Vorteil von "find" ist die Möglichkeit der Suchbegrenzung beispielsweise auf Dateien, die seit Mitternacht angelegt wurden oder explizit nur Dateien, keine Links oder Verzeichnisse. Denn "ls [a-h]*.gz" würde auch Verzeichnisse beziehungsweise die Dateien darin erfassen.