![]() |
|
Linux - Wegweiser zur Installation & Konfiguration, 3. AuflageOnline-VersionBitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.
|
Eine andere Möglichkeit der Zeitersparnis liegt in der Benutzung von speziellen Zeichen, um Dateinamen abzukürzen (Wildcards). Sie können mit Hilfe dieser Zeichen mehrere Dateien gleichzeitig ansprechen.
MS-DOS bietet ein paar einfache Möglichkeiten dieser Art: Sie können das Fragezeichen als Platzhalter für ein »beliebiges Zeichen« einsetzen, und ein Stern steht für eine »Zeichenkette«. Unix kennt solche Wildcards ebenfalls, ist aber in deren Anwendung wesentlich flexibler.
Nehmen wir an, in einem Verzeichnis stehen folgende Dateien mit C-Quellcode:
Um nur die Dateien aufzulisten, deren Namen Ziffern enthalten, könnten Sie eingeben:
Die Shell sucht nach Dateinamen, in denen ein Zeichen das Fragezeichen ersetzt. Deshalb werden inv1jig.c, inv2jig.c und inv3jig.c aufgelistet, jedoch nicht invinitjig.c, weil dieser Name zu viele Zeichen enthält.
Falls Sie die zweite Datei nicht gebrauchen können, benutzen Sie eckige Klammern, um nur die für Sie interessanten Dateien aufzulisten:
Falls eines der Zeichen innerhalb der eckigen Klammern auf einen Dateinamen paßt, wird dieser angezeigt. Sie können auch einen Zeichenbereich definieren:
Diesmal werden wieder alle drei Dateien aufgelistet. Der Bindestrich bedeutet: »Suche nach Treffern für alle Zeichen zwischen 1 und 3 einschließlich«. Sie können beliebige Ziffern mit der Angabe 0-9
ansprechen und alle Buchstaben mit der Angabe [a-zA-Z]
. In diesem Fall müssen Sie zwei Bereiche definieren, weil die Shell die Groß- und Kleinschreibung berücksichtigt. Die Sortierreihenfolge, die bei diesen Definitionen benutzt wird, ist übrigens diejenige des ASCII-Zeichensatzes.
Nehmen wir an, daß Sie nun auch die init-Datei auflisten wollen. Dazu können Sie den Stern einsetzen, weil er eine beliebige Anzahl von Zeichen zwischen dem inv
und dem jig
ersetzt:
Der Stern steht tatsächlich für »kein oder mehrere Zeichen«, so daß auch eine Datei mit dem Namen invjig.c angezeigt worden wäre, hätte sie existiert.
Anders als MS-DOS erlauben die Unix-Shells eine beliebige Kombination aus normalen Zeichen und Zeichen mit besonderer Bedeutung. Sie können zum Beispiel alle Quelldateien (.c) und Objektdateien (.o) auflisten, deren Name eine Ziffer enthält. Das folgende Suchmuster kombiniert alle Möglichkeiten der Namenserweiterung, die wir hier vorgestellt haben:
Die Erweiterung von Dateinamen kann in Shell-Skripten sehr nützlich sein, wenn Sie nicht genau wissen, mit wie vielen Dateien Sie es zu tun haben. Vielleicht haben Sie zum Beispiel eine Reihe von Logdateien namens log001, log002 usw. zu bearbeiten. Egal wie viele dieser Dateien es gibt - mit dem Suchstring log* erfassen Sie sie alle.
Eine Warnung zum Abschluß: Die Erweiterung von Dateinamen ist nicht dasselbe wie reguläre Ausdrücke (regular expressions), die von vielen Utilities benutzt werden, um Gruppen von Dateien zu bezeichnen. Die Besprechung von regulären Ausdrücken würde den Rahmen dieses Buches sprengen, aber jedes Buch über Unix-Utilities geht auch auf dieses Thema ein. Kapitel 13, Programmiersprachen, gibt Ihnen aber immerhin einen kleinen Vorgeschmack. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2000, O'Reilly Verlag