Reguläre Ausdrücke, oft als Regex abgekürzt, sind ein mächtiges Werkzeug zur musterbasierten Textauswahl. Ihr Verständnis ist grundlegend für die Beherrschung der Textmanipulation unter Linux. Obwohl es viele Apps gibt, um Linux zu lernen, ist das Eintauchen in Kernkonzepte wie regular expression linux der schnellste Weg zu fortgeschrittenen Linux-Kenntnissen. Sie verwenden spezielle Notationen, von denen einige Wildcards wie * ähneln.
Lassen Sie uns einige der gängigsten Regex-Operatoren untersuchen, die in fast allen Programmiersprachen universell sind. Wir verwenden den folgenden Text als Beispiel:
sally sells seashells
by the seashore
Ankern am Zeilenanfang
Das Caret-Symbol ^ passt auf den Anfang einer Zeile. Es stellt sicher, dass Ihr Muster nur am Anfang erscheint.
^by
Dieses Muster würde die Zeile "by the seashore" abgleichen, aber nicht "sally sells seashells".
Ankern am Zeilenende
Das Dollar-Symbol $ passt auf das Ende einer Zeile. Es ist das Gegenstück zum ^-Anker.
seashore$
Dieses Muster würde die Zeile "by the seashore" abgleichen, da sie auf "seashore" endet.
Abgleich eines beliebigen einzelnen Zeichens
Der Punkt . ist ein Platzhalter, der ein beliebiges einzelnes Zeichen abgleicht.
b.
In unserem Beispiel würde dies "by" abgleichen.
Verwendung von Klammern für Zeichensätze
Klammern [] ermöglichen es Ihnen, eine Menge von Zeichen anzugeben, die abgeglichen werden sollen. Dies bietet mehr Kontrolle als der Platzhalter ..
s[ae]lls
Dies würde "sells" abgleichen und würde auch "salls" abgleichen.
Sie können Klammern auch verwenden, um anzugeben, was nicht abgeglichen werden soll. Wenn das Caret ^ das erste Zeichen innerhalb der Klammern ist, negiert es die Menge und gleicht jedes Zeichen ab, außer denen, die aufgelistet sind.
s[^e]lls
Dies würde "salls" abgleichen, aber nicht "sells".
Schließlich unterstützen Klammern Bereiche, um effizient eine große Menge von Zeichen zu definieren.
d[a-c]g
Dieses Muster gleicht "dag", "dbg" und "dcg" ab. Beachten Sie, dass Bereiche groß-/kleingeschrieben werden. Zum Beispiel gleicht [a-c] kein A, B oder C ab.
Das Erlernen dieser Operatoren ist einer der besten Wege, um die Effizienz der Linux-Kommandozeile zu erlernen.