Bash Letzte x Zeichen aus String entfernen

Bash Remove Last X Characters From String



Es kann sein, dass man manchmal Buchstaben aus einem der beiden Strings löschen muss. Wie dem auch sei, Linux enthält mehrere integrierte, nützliche Tools zum Entfernen von Buchstaben aus einem solchen Text in Bash. In diesem Artikel wird veranschaulicht, wie Sie mit diesen Methoden Buchstaben aus einer Zeichenfolge löschen. In diesem Beitrag wurden die Anweisungen auf Ubuntu 20.04 Focal Fossa ausgeführt. Dieselben Anweisungen können auf jedem Linux-System ausgeführt werden, auf dem die oben genannten Dienstprogramme installiert sind. Um die Anweisungen auszuführen, verwenden wir das übliche Terminal. Die Tastenkombination Strg+Alt+T öffnet das Terminal-Tool.

Methode 01: Teilstring-Weg

Unsere erste Methode zum Entfernen von Buchstaben oder Zeichen aus einer Zeichenfolge ähnelt eher dem Erstellen einer Teilzeichenfolge aus einer Originalzeichenfolge. Inzwischen ist das Terminal bereits geöffnet; Wir werden eine Bash-Datei erstellen, um unseren Bash-Code hinzuzufügen. Damit wir darin Zeichen entfernen oder Teilstrings erstellen können. Wir haben also die integrierte Touch-Anweisung in unserer Shell verwendet, um eine Bash-Datei zu erstellen.









Da die Datei schnell im Home-Ordner von Ubuntu 20.04 generiert wurde, öffnen Sie sie in einem Editor zum Bearbeiten. Wir wählen also den GNU-Editor, um das file.sh-Dokument wie unten beschrieben zu öffnen.







Kopieren Sie den unten gezeigten Code hinein. Dieser Code enthält am Anfang die Bash-Erweiterung, und danach haben wir eine String-Variable val mit einem String-Wert deklariert. In der anderen Zeile verwenden wir die Echo-Phrase, um diese Variable im Terminal anzuzeigen. Ab hier beginnt die eigentliche Aufgabe. Wir haben eine Variable neu initialisiert und weisen ihr einen Wert zu, der ein Teilstring der ursprünglichen Variablen val ist. Wir haben es getan, indem wir -14 in den geschweiften Klammern nach doppelten Doppelpunkten erwähnt haben. Dies teilt dem Compiler mit, dass er die letzten 14 Buchstaben aus der ursprünglichen Zeichenfolge FirstWorldCountries entfernen muss. Die restlichen Buchstaben werden in der Variablen new gespeichert. In der letzten Zeile wurde das Echo verwendet, um die neue Variable neu zu drucken.



Die ordnungsgemäße Ausführung einer Datei file.sh mit dem bash-Befehl erfolgt wie erwartet. Zuerst zeigt es den Wert der ersten String-Variablen val an, und danach zeigt es den Wert des neu erstellten Strings aus einer ersten Variablen gemäß der angezeigten Ausgabe an.

Methode 02: Verwenden von speziellen Symbolen

Eine andere einfache und einfachere Methode, die letzten Buchstaben oder Zeichen aus einer beliebigen Zeichenfolge zu entfernen, ist die Verwendung von Sondersymbolen oder -zeichen, z. B. Prozent- und Fragezeichensymbolen. Dieses Mal verwenden wir also Prozentsätze und Fragezeichen, um die Zeichen aus einer beliebigen Zeichenfolge zu entfernen. Daher haben wir dieselbe Datei bereits geöffnet, um das Bash-Skript mit einem GNU Nano-Editor zu aktualisieren. Der gesamte Code ist derselbe, aber der variable neue Teil ist ein wenig anders. Wir haben ein Prozentzeichen verwendet, um dem System mitzuteilen, dass die angegebene Anzahl von Fragezeichen die Anzahl der Zeichen aus einem Variablenwert darstellt, die nach diesem Prozentzeichen entfernt werden sollen. Sie können sehen, dass wir 9 Fragezeichensymbole hinzugefügt haben. Dies bedeutet, dass die letzten 9 Zeichen aus der Zeichenfolge FirstWorldCountries entfernt werden und die verbleibende Zeichenfolge FirstWorld ist. Dieser verbleibende String wird dann in einer neuen Variablen gespeichert.

Wenn wir die aktualisierte Bash-Datei ausgeführt haben, erfolgt die Ausgabe wie erwartet. Es zeigt den ursprünglichen String aus der ersten Variablen und den Wert der zweiten Variablen, die neu aus der Variablen val erstellt wurde.

Methode 03: Verwenden von Sed

Sed ist ein nützliches und effektives Werkzeug zum Ändern von Textsequenzen. Dies ist eine nicht interaktive Entwicklungsumgebung, in der Sie mit Dateneingaben arbeiten und einfache Texttransformationen durchführen können. Sie können sed auch verwenden, um Buchstaben aus nicht gewünschten Texten zu löschen. Wir verwenden eine Beispielzeichenfolge und leiten sie zur Veranschaulichung an den Befehl sed weiter. Mit sed können Sie ein bestimmtes Zeichen aus einer Zeichenfolge löschen. Wir haben also die einfache Zeile eines Strings innerhalb der echo-Anweisung verwendet. Wir haben sed verwendet, um den Buchstaben A aus der erwähnten Zeichenfolge zu entfernen. Beachten Sie unbedingt die Syntax ‘s/string_to_be_removed//’. Die Ausgabe zeigt, dass der Buchstabe A entfernt wurde.

Um das ganze Wort Aqsa zu entfernen, haben wir das erste und letzte Zeichen eines Wortes mit den Punkten darin erwähnt, um fehlende Buchstaben darzustellen. Die Ausgabe zeigt die Zeichenfolge mit der Entfernung des Wortes Aqsa.

Um eine beliebige Anzahl von letzten Zeichen aus einer Zeichenfolge zu entfernen, geben Sie die Anzahl der Punkte gemäß Ihren Anforderungen vor dem Dollarsymbol an, wie gezeigt.

Methode 04: Verwenden von Awk

Awk ist eine ausgeklügelte Skriptsprache, die verwendet werden kann, um Muster abzugleichen und Texte zu verarbeiten. Sie können Awk verwenden, um Eingaben auf verschiedene Weise zu verschieben und zu ändern. Sie können mit awk auch Buchstaben aus Strings löschen. Awk scheint ein wenig anders zu sein als sed. Diesmal haben wir die Saite mit Aqsa Yasin geändert. Die awk-Funktion erstellt einen Teilstring über die Methode substr und gibt ihn im Terminal aus. Die Funktion length wurde verwendet, um die Anzahl der Buchstaben zu demonstrieren, die aus der genannten Zeichenfolge entfernt wurden. Hier bedeutet length($0)-5, dass die letzten 5 Zeichen einer Zeichenfolge entfernt werden, und die restlichen werden Teil einer Teilzeichenfolge, die ausgedruckt werden soll.

Wir haben versucht, die letzten 9 Zeichen aus einem String Aqsa Yasin zu entfernen und haben A als Ausgabe-Teilstring erhalten.

Methode 05: Verwenden von Cut

Cut scheint ein Befehlszeilen-Dienstprogramm zu sein, mit dem ein Textstück aus einer solchen Phrase oder einem solchen Dokument extrahiert und auf der Standardausgabe ausgegeben wird. Diese Operation kann auch verwendet werden, um Buchstaben aus einer Art von Zeichenfolge zu entfernen. Wir verwenden eine Beispielphrase und übergeben sie zu Testzwecken an die Cut-Anweisung. Also haben wir die Aqsa Yasin-Phrase verwendet und an die Cut-Abfrage übergeben. Nach dem Flag –c haben wir den Indexbereich für einen String definiert, um die Zeichen aus einem genannten String auszuschneiden. Es werden die Zeichen von Index 1 bis Index 5 angezeigt. Index 5 wurde hier ausgeschlossen. Die Ausgabe zeigt die ersten 4 Zeichen als Aqsa.

Diesmal werden wir die Schnittanweisung anders verwenden. Wir haben die rev-Funktion verwendet, um den String umzukehren. Nach der Umkehrung eines Strings schneiden wir das erste Zeichen aus einem String ab. Das Flag -c2- bedeutet, dass unsere Teilzeichenfolge das nächste Zeichen 2 sein wird. Danach wird die Reverse-Funktion erneut verwendet, um die Zeichenfolge umzukehren. Diesmal haben wir also die ursprüngliche Zeichenfolge mit dem Entfernen des letzten Zeichens zurückbekommen.

Um die letzten 7 Zeichen zu entfernen, müssen Sie nur -c7-im Cut-Befehl erwähnen, während Sie auch die Umkehrfunktion verwenden.

Abschluss:

Es gibt mehr als eine Methode, um eine grundlegende Aufgabe unter Linux zu erledigen. Ebenso ist das Löschen von Zeichen aus einem Text möglich. In diesem Artikel wurden fünf verschiedene Methoden zum Entfernen unerwünschter Zeichen aus einer Zeichenfolge sowie einige Instanzen demonstriert. Welches Werkzeug Sie wählen, hängt ganz von Ihrer Wahl ab und vor allem davon, was Sie erreichen möchten.