Bash Wildcard Tutorial

Wenn wir mit Shell-Befehlen nach etwas suchen müssen, müssen wir ein Muster für die Suche definieren. Platzhalterzeichen werden verwendet, um das Muster für das Suchen oder Abgleichen von Text in Zeichenfolgendaten in der Bash-Shell zu definieren. Eine weitere häufige Verwendung von Platzhalterzeichen besteht darin, reguläre Ausdrücke zu erstellen. In diesem Tutorial erfahren Sie, wie Sie verschiedene Arten von Platzhalterzeichen für die Suche nach Dateien verwenden können.

Die drei wichtigsten Platzhalterzeichen sind,

  • Stern oder Sternchen (*)
  • Fragezeichen (?)
  • Eckige Klammern ()

Sternchen (*) wird verwendet, um nach bestimmten Zeichen null- oder mehrmals zu suchen. Fragezeichen (?) wird verwendet, um nach einer festen Anzahl von Zeichen zu suchen, wobei jedes Fragezeichen (?) gibt jedes Zeichen an. Eckige Klammern werden verwendet, um mit den Zeichen eines definierten Bereichs oder einer Gruppe von Zeichen übereinzustimmen. Die Verwendung dieser Zeichen wird im nächsten Teil dieses Tutorials gezeigt.

Verwendung von Asterisk (*)

Asterisk (*) kann auf verschiedene Arten mit Shell-Befehlen zum Durchsuchen von Dateien verwendet werden. Die folgenden Beispiele zeigen die unterschiedliche Verwendung von Sternchen (*).

Beispiel – 1: Suchen einer bestimmten Datei mit Dateiname und ‚*‘

‚ ls‘ Befehl wird verwendet, um die Liste der Dateien und Ordner des aktuellen Verzeichnisses herauszufinden. Der Befehl ‚ls s*‘ durchsucht alle Dateien, deren Name mit ’s‘ beginnt‘

$ ls
$ ls s*

Beispiel 2: Datei mit einer bestimmten Erweiterung suchen und ‚*‘

Sie können jede Datei mit Sternchen (*) und der Dateierweiterung durchsuchen. Wenn Sie alle Dateien mit ‚ durchsuchen möchten.sh‘ Erweiterung aus dem aktuellen Verzeichnis führen Sie dann den folgenden Befehl vom Terminal aus. Hier kann der Dateiname ein beliebiges Zeichen und eine beliebige Anzahl von Zeichen sein.

$ ls *.sh

Sie können Dateien mit verschiedenen Erweiterungen auch mit einem Sternchen (*) durchsuchen. Der folgende Befehl durchsucht alle Dateien mit der Erweiterung ‚.bash‘ oder ‚.PNG‘

$ ls *.bash *.PNG

Beispiel – 3: Entfernen der Datei durch partielle Übereinstimmung und ‚*‘

Sie können Sternchen (*) verwenden, um einen beliebigen Dateinamen teilweise abzugleichen. Der folgende Befehl entfernt die Datei, die das Wort ‚img‘ in einem beliebigen Teil des Dateinamens enthält.

$ ls
$ rm *img*
$ ls

Verwendung von Fragezeichen (?)

Wenn Sie die genaue Anzahl der Zeichen kennen, die Sie suchen möchten, dann Fragezeichen (?) Platzhalter verwendet werden. Die folgenden Beispiele zeigen die unterschiedliche Verwendung von Fragezeichen (?) Wildcard.

Beispiel – 1: Datei mit Dateiname und ‚?‘

Angenommen, die Dateierweiterung, die Gesamtzahl der Zeichen einer Datei und einige Zeichen der Datei sind bekannt, dann können Sie diesen Platzhalter verwenden, um die Datei zu durchsuchen. Der Befehl durchsucht die Datei mit der Erweiterung ‚.PNG‘, das Wort ‚pic‘ steht am Ende des Dateinamens und der Dateiname ist sechs Zeichen lang.

$ ls
$ ls ???bild.PNG

Beispiel -2: Datei mit Erweiterung und ‚?‘

Angenommen, Sie kennen den Dateinamen und die Gesamtzahl der Zeichen der Dateierweiterung, dann können Sie das Fragezeichen (?) Platzhalter, um die Datei zu durchsuchen. Der folgende Befehl durchsucht die Datei mit dem Dateinamen ‚mypic‘ und der Erweiterung ist drei Zeichen lang.

$ ls
$ ls mypic.???

Verwendung von eckigen Klammern ()

Innerhalb von eckigen Klammern () können verschiedene Zeichenbereiche oder Zeichengruppen verwendet werden, um Dateien basierend auf dem Bereich zu durchsuchen.

Beispiel -1: Dateien mit beliebiger Erweiterung mit zwei Wertebereichen durchsuchen

Der folgende Befehl durchsucht jede Datei, deren Name ein beliebiges Zeichen innerhalb von ‚p-z‘ und eine beliebige Ziffer innerhalb von ‚0-9‘ enthält.

$ ls
$ ls *.*

Die grundlegende Verwendung von Platzhalterzeichen wird in diesem Tutorial gezeigt. Sie können auch Platzhalterzeichen verwenden, um ein beliebiges Muster für reguläre Ausdrücke für Validierungsarbeiten zu erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.