Bash Advanced Variable Idiome für die Fallsensitivitätsmanagement
- 3091
- 858
- Miriam Bauschke
Wann immer wir mit Textketten arbeiten, erscheint früher oder später das Problem des Falles. Muss ein Wort vollständig Großbuchstaben, vollständig in Kleinbuchstaben sein, mit einem kapitalisierten Buchstaben zu Beginn des Wortes oder Satzes usw.
Eine Idiom ist ein natürlicher Sprachausdruck einer einfachen Programmieraufgabe. Zum Beispiel in der Schlaf 10
Befehl (der das Terminal, in dem One zehn Sekunden arbeitet), das Wort pausieren wird), das Wort schlafen
ist ein natürlicher Sprachausdruck eines zeitbasierten Codierungskonstrukts, das im Bash GNU CoreUtils -Softwarepaket entwickelt wurde.
Es gibt eine Reihe von speziellen Variablen-gebundenen Redewendungen (i.e. Suffixe, die zu einem variablen Namen hinzugefügt werden können, was angibt, was wir mit einer bestimmten Variablen tun möchten), die in Bash verwendet werden kann, um diese Art von Conversions im Fliegen leichter durchzuführen, anstatt zum Beispiel den SED -Stream zu verwenden Herausgeber mit einem regulären Ausdruck, um dasselbe zu tun.
Wenn Sie an regelmäßigen Ausdrücken interessiert sind, schauen Sie sich unsere Bash Regexps für Anfänger mit Beispielen erweitert Bash Regex mit Beispielen mit Beispielen an!
Dies macht die Arbeit mit Variablen, die eine Falländerung benötigen, oder Wenn
Statement testen viel einfacher und bieten große Flexibilität. Redewendungen können direkt in die hinzugefügt werden Wenn
Aussagen und müssen keine Unterschale mit verwenden sed
.
Während die Syntax zunächst etwas komplex aussieht, sind Sie auf dem besten Weg, diese Redewendungen in Ihrem nächsten Skript zu verwenden, wenn Sie einen kleinen mentalen Support-Trick lernen, um sich an die richtigen Tasten zu erinnern oder in der Befehlszeile ein Einweihskript zu verfolgen!
In diesem Tutorial lernen Sie:
- Wie man die benutzt
^
,^^
,,
Und,,
Variable Suffix -Redewendungen blockieren - So verwenden Sie einen regulären Ausdruck
[]
Reichweite idiom in Kombination mit diesen - Wie man die benutzt
^
Und,
Redewendungen direkt von innenWenn
Aussagen - Detaillierte Beispiele, die die Verwendung von veranschaulichen,
^
,^^
,,
Und,,
Softwareanforderungen und Konventionen verwendet
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Linux-Verteilungsunabhängige |
Software | BASH -Befehlszeile, Linux -basiertes System |
Andere | Jedes Dienstprogramm, das standardmäßig nicht in der Bash -Shell enthalten ist sudo apt-Get Installieren Sie den Dienstprogramm (oder yum install Für Redhat -basierte Systeme) |
Konventionen | # - Erfordert, dass Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden sudo Befehl$-erfordert, dass Linux-Commands als regulärer nicht privilegierter Benutzer ausgeführt werden |
Beispiel 1: Vollvariablen in Großbuchstaben erstellen
Beginnen wir mit einem Beispiel, das zeigt, wie eine Variable als Großbuchstaben gedruckt wird:
$ Var = "Mach mich Großbuchstaben"; Echo "$ var ^^" Mach mich in Großbuchstaben
Wir haben zuerst die Variable festgelegt Var
Zu Mach mich Großbuchstaben. Die Art und Weise, wie wir dies getan haben, durch die Verwendung ^^
Am Ende des variablen Namen.
Beachten Sie, dass jeder, wenn man eine Variable festlegt, das verwendet Var =
Syntax, die die führende Variable ablassen ($
) Bash Idiom. Nachfolgende Verwendungen, die keine Neuzuweisung selbst sind, werden die verwenden $
Syntax. Daher verwendet das Echo $
.
Sie können auch sehen Und
Rund um den variablen Namen verwendet werden. Dies ist zwar nicht streng notwendig:
$ Var = 1; echo $ var 1
Es wird sehr empfohlen, und ich persönlich empfehle es auch, Variablen immer korrekt zu zitieren, da es Fehler und sogar Probleme vermeidet, wie es für den Interpret der Kulissen hinter den Kulissen nicht klar ist, wenn eine Variable endet:
$ Var = "a"; echo "$ vara"
Im ersten Beispiel sieht der Bash -Dolmetscher einen variablen Namen (beginnt ($
) und liest weiter, bis es einen Raum erreicht, wie hier zu sehen ist:
$ Var = "a"; echo "$ var a" a
Hier mussten wir einen Raum vorstellen, nur um unsere zu machen Echo
richtig arbeiten.
Mit anderen Worten, in unserem früheren Beispiel ist der variable Name, den Bash sieht Vara
und es kann nicht teilnehmen/sehen, wo die Variable endet und der Rest des String-zu-Ausgabes beginnt oder neu startet. Vergleichen wir dies mit ordnungsgemäßen Einkapselung von Variablen mit Und
:
$ Var = "a"; echo "$ var a" aa
Hier werden keine Probleme gesehen; dem Bash -Dolmetscher ist klar, dass $ Var
ist die Variable und A
ist der zu folgende Text, alles dank der ordnungsgemäßen Einkapselung unserer Variablen.
Dies führt auch in starker Weise zurück, um das Special zu verwenden ^^
Idiom und andere solche Bash -Redewendungen. Lassen Sie uns dies veranschaulichen:
$ Var = "Mach mich Großbuchstaben"; echo $ var ^^ Mach mich Großbuchstaben ^^ $ var = "Mach Me Großbuchstaben"; echo "$ var ^^" Mach mich Großbuchstaben ^^
In diesem Fall kann Bash sehen, dass wir das möchten Var
Variable gedruckt werden, wenn auch interpretiert ^^
als Standardtext. Wie deutlich aus diesen und früheren Beispielen ersichtlich ist, ist es eine bewährte Verfahren, immer Variablennamen mit zu umgeben Und
.
Beispiel 2: Vollvariablen in Kleinbuchstaben machen
Jetzt, da wir gesehen haben, wie man einen variablen Großbuchstaben durch die Verwendung der verwendet hat ^^
Idiom, lassen Sie uns untersuchen ,,
Idiom:
$ Var = "Mach mich Kleinbuchstaben"; Echo "$ var ,," Mach mich in Kleinbuchstaben
Es ist eine interessante Syntax -Idiom zu verwenden ,,
Als Suffix für die Variable, aber es funktioniert korrekt wie gezeigt.
Ein kleiner mentaler Unterstützungstrick, um sich an diese zu erinnern
Eine gute Möglichkeit/Methode, sich daran zu erinnern, besteht darin, visuell zu bestätigen oder sich vorzustellen, was erinnert werden muss. Wenn Sie ein paar mentale Konstrukte dazu hinzufügen können, z.
Dies ist ein Blick auf Ihre physische Tastatur, und wenn Sie eine querty Tastatur wie ich verwenden, werden Sie das sehen ^
ist Shift-6 und "," ist direkt neben dem M
. Wie hilft das hilft?
Erstens die 6
/^
Schlüssel ist oben und die ,
Der Schlüssel ist unten. Als nächstes die ,
Der Schlüssel ist auch der unten am nächsten Nicht-Alphabet-Charakter zum 6
Taste. Schließlich befinden sich beide Tasten auf der rechten Seite der Tastatur, die an eine daran erinnert, dass diese Redewendungen ein Suffix und kein Präfix für eine Variable sind
Sobald Sie dies ein- oder zweimal visuell bestätigt haben, bleibt es wahrscheinlich recht gut im Speicher und Sie können diese Redewendungen in Ihrem nächsten Bash-Skript oder Ein-Liner verwenden, ohne die Syntax erneut zu referenzieren müssen.
Beispiel 3: Ändern spezifischer Buchstaben
Wir können auch einen bestimmten Buchstaben in Großbuchstaben erstellen:
$ Var = "Ababab CDCDCD"; echo "$ var ^^ b" Ababab CDCDCD
Oder Kleinbuchstaben:
$ Var = "Ababab CDCDCD"; echo "$ var ,, c" Ababab CDCDCD
Hier gibt es zwei Gotchas/Einschränkungen. Erstens müssen wir sicherstellen. Daher geben Sie einen Kleinbuchstaben -Ersatz für den Buchstaben an C
wird nicht funktionieren:
$ Var = "Ababab CDCDCD"; echo "$ var ,, c" Ababab CDCDCD
Da gibt es einfach keinen Kleinbuchstaben C
Im Text gibt es nur C
(Großbuchstaben), und dies funktioniert einwandfrei wie das oben gezeigte Beispiel.
Wir können auch mehrere Buchstaben nicht angeben, indem wir eines dieser vermutbaren, aber nicht arbeitenden Formate verwenden:
$ Var = "Ababab CDCDCD"; echo "$ var ,, CD" Ababab CDCDCD $ var = "Ababab CDCDCD"; echo "$ var ,, c ,, d" Ababab CDCDCD
Der Weg, dies richtig zu machen, besteht darin, das reguläre Ausdrucksformat von zu verwenden [… Auswahlliste…]
, folgendermaßen:
$ Var = "Ababab CDCDCD"; echo "$ var ,, [cd]" Ababab CDCDCD
Starten Sie den Satz mit einem Groß- oder Kleinbuchstaben -Charakter
Nur den ersten Buchstaben zu ändern ist auch möglich:
$ Var = "Ababab CDCDCD"; echo "$ var^" Ababab CDCDCD $ var = "Ababab CDCDCD"; Echo "$ var," Ababab CDCDCD
Hier haben wir eine Single verwendet ^
oder ,
Um den ersten Buchstaben Großbuchstaben oder Kleinbuchstaben zu erstellen.
Verwenden dieser Bash -Variablen -Suffix -Idiome von innen nach Anweisungen
Wir können diese Bash -Variablen -Suffix -Idiome auch direkt von innen verwenden Wenn
Aussagen:
$ Var = "ABC"; if ["$ var ^^" == "ABC"]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte!
Hier haben wir eine Variable Var
mit Wert ABC
. Als nächstes im Inneren der Wenn
Aussage ändern wir den Inhalt der Variablen dynamisch in ABC
durch die Nutzung $ Var ^^
Als erste Vergleichszeichenfolge in der Wenn
Stellungnahme. Als nächstes vergleichen wir uns mit ABC
Und wir haben ein Match und beweisen, dass unsere Inline -Substitution durch Großbuchstaben funktioniert.
Dies ist viel einfacher, als eine Unterschale zu starten und dasselbe zu tun, um es zu tun sed
und ein regulärer Ausdruck:
$ Var = "ABC"; if ["$ (echo" $ var "| sed 's | [a-z] | \ u & | g')" == "ABC"]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte!
Der \ U &
in diesem sed
Der Befehl kann als "Änderung jeder Erfassung (durchgeführt" gelesen werden (erledigt von [A-Z]
und Referenzen von &
In \ U &
)in den Großbuchstaben (
\ U ') gleichwertig davon. Vergleichen Sie die Komplexität dieser Lösung mit dem vorherigen.
Ein anderes wenn Beispiel
$ Var = "ABC"; if [["$ var ^^ b" == * "B" *]]; dann stimmte echo ab!'; sonst echo 'nicht übereinstimmte!'; fi passte!
In diesem Beispiel haben wir den Text geändert ABC
Zu ABC
durch die Nutzung $ Var ^^ b
wie zuvor beschrieben (Großbuchstaben nur der Brief B
). Dann verwenden wir einen Vergleich, der ein Sternchen links und rechts vom Buchstaben hat B
. Das bedeutet B
gefolgt von… jeder String… (beachten Sie, dass man auch den Start- oder Endstern von Start- oder Endstern ablassen kann, um Sätze mit oder enden mit dem enden B
bzw).
Abschluss
In diesem Artikel haben wir die Bash -Variablen -Suffix -Idiome untersucht ^
, ^^
, ,
Und ,,
. Wir haben uns angesehen, wie sie verwendet werden können, um Saiten in ihre Ober- und Kleinbuchstaben -Varianten zu ersetzen, und wie man mit einem oder mehreren einzelnen Buchstaben arbeitet, einschließlich der Erstellung des ersten Buchstabens Groß- oder Kleinbuchstaben.
Wir haben auch untersucht. Schließlich haben wir einen vorgeschlagenen Memory -Support -Trick zur Verfügung gestellt, um uns daran zu erinnern, welche Zeichen verwendet werden können und wo als Bash -Redewendungen für die obere und zuverlässige Substitution des Textes bash.
Lassen Sie uns einen Gedanken mit Ihren coolsten Textbefehlsbefehlungen! Genießen!
Verwandte Linux -Tutorials:
- BASH -Skript: Pause Skript vor fortfahren
- Advanced Bash Regex mit Beispielen
- Bash -Hintergrundprozessmanagement verleihen
- Multi-Thread-Bash-Skript- und Prozessmanagement bei der…
- Schleifen mit Beispielen verprügeln
- Spezielle Bash -Variablen mit Beispielen
- Ziehen Sie Ihre Bash -Skripte und -Ver Prozeduren aus dem Code aus
- Bash Regexps für Anfänger mit Beispielen
- Vergleichen Sie die Zeichenfolge in Bash
- Richtige variable Parsen und Zitat in Bash
- « Erstellen Sie Umleitungs- und Umschreiben von Regeln in .HTaccess auf Apache Webserver
- So lesen und erstellen Sie CSV -Dateien mit Python »