GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Tr-Befehl in Linux mit Beispielen erklärt

Die wahre Stärke von Linux besteht darin, dass es viele Programme/Dienstprogramme gibt, die erstellt wurden, um unser Leben einfacher zu machen. Wenn Sie viele Shell-Skripte in Ihrer Umgebung schreiben, ist diese Reihe von Programmen praktisch, wenn Sie diese Programme verwenden, um Ihre Eingabe oder Ausgabe in Ihren Skripten zu manipulieren. Ein solches Dienstprogramm ist tr , was für übersetzen steht . Wie der Name schon sagt, wird der Befehl tr verwendet, um Zeichen von der Standardeingabe zu übersetzen, zu komprimieren und zu löschen und auf die Standardausgabe in Linux- und Unix-ähnlichen Betriebssystemen zu schreiben.

In diesem Artikel lernen wir die Verwendung des tr-Befehls anhand praktischer Beispiele kennen. Am Ende dieser Anleitung werden Sie mit der Verwendung des tr-Befehls vertraut sein und wissen, in welchem ​​Szenario die Verwendung dieses Befehls von Vorteil wäre.

tr Befehlssyntax und Hilfe

Informationen zur Syntax und Liste der Argumente, die der Befehl tr unterstützt, finden Sie in der Manpage oder verwenden Sie --help Flag mit tr Befehl.

$ man tr
$ tr --help

Der tr Der Befehl akzeptiert zwei Argumente in Form von SET1 und SET2 wobei SET1 werden Eingabezeichen sein, die durch Zeichen in SET2 übersetzt werden . Wenn bestimmte Flags an den tr-Befehl übergeben werden, kann optional SET2 verwendet werden.

tr [OPTION]… SET1 [SET2]

Beispiel 1 - Übersetzen mit dem Befehl tr

Unten ist ein einfaches Beispiel für die Verwendung von tr Befehl. Der tr Befehl wird mit dem echo geleitet Befehl und Kleinbuchstaben "ost" wird in Großbuchstaben "OST" umgewandelt .

Die Konvertierung erfolgt hier basierend auf der Position der Zeichen in zwei Sätzen. Das erste Zeichen in SET1 wird durch das erste Zeichen in SET2 ersetzt (o->O ), ähnlich für alle Zeichen (s->S ,t->T ).

$ echo "ostechnix" | tr "ost" "OST" 
OSTechnix

Empfohlene Lektüre:

  • Bash-Echo-Befehl mit Beispielen in Linux erklärt

Beispiel 2 - Zeichensätze und Sonderzeichen

Der tr Befehl bietet die Verwendung von Zeichensätzen, was die Konvertierung sehr einfach macht. Der tr Der Befehl kann auch Sonderzeichen interpretieren wie (\n ,\t ,\v ), die mit verschiedenen Zeichen übersetzt werden können.

Schauen wir uns an, wie man den Zeichensatz verwendet. Im folgenden Beispiel habe ich Zeichenfolgen, Ganzzahlen und Satzzeichen. Satzzeichen werden durch Punkte ersetzt (. ) mit "[:punct:]" Zeichensatz.

$ echo "Ubuntu 20.04 #$%^" | tr "[:punct:]" "."

Beispiel 3 – Groß-/Kleinschreibung

Wenn Sie mit Zeichenketten arbeiten, möchten Sie vielleicht die Groß-/Kleinschreibung der Zeichenkette von klein nach groß oder umgekehrt ändern. Mit dem tr Befehl, können Sie die Groß-/Kleinschreibung auf verschiedene Arten durchführen.

Bei der ersten Möglichkeit können Sie a eingeben bis z in Satz 1 und Satz 2.

$ echo "ostechnix" | tr "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
OSTECHNIX

Bitte beachten Sie, dass dies kein bevorzugter Weg ist.

Anstatt alle Zeichen einzutippen, können Sie auch Bereiche verwenden (z. B. a-z , A-Z ).

$ echo "ostechnix" | tr "a-z" "A-Z" # Klein- in Großbuchstaben 
OSTECHNIX
$ echo "OSTECHNIX" | tr "A-Z" "a-z" # Groß- zu Kleinbuchstaben 
osttechnix

Anstelle der beiden oben genannten Methoden können auch die Zeichenklassen verwendet werden.

$ echo "OSTECHNIX" | tr "[:obere:]" "[:untere:]" 
osttechnix
$ echo "ostechnix" | tr "[:untere:]" "[:obere:]" 
OSTECHNIX

Beispiel 4 - Zeichen löschen

Es gibt eine Reihe optionaler Argumente, die tr unterstützt verschiedene Aktionen auszuführen.

Ein solches Flag ist "-d oder --delete " wodurch Zeichen gelöscht werden, die in SET1 angegeben sind.

Unten ist die Eingabe, wo ich drei IPs mit Leerzeichen in jeder Zeile und Tabulatoren (2) in der dritten Zeile habe. Jetzt mit dem -d Flagge können Sie die Leerzeichen löschen.

192.168. 1. 12 192.168. 1. 13 192.168. 1. 14

Führen Sie den folgenden Befehl aus, der alle Leerzeichen löscht. Ein wichtiger Punkt, der hier zu beachten ist, ist, dass Tabulatoren nicht entfernt werden, sondern nur Leerzeichen werden entfernt.

$ tr -d " "   

Wenn Sie sowohl Leerzeichen als auch Tabulatoren (horizontale Leerzeichen) entfernen möchten, können Sie den "[:blank:]" verwenden Zeichensatz.

$ tr -d "[:blank:]"   

Sie können auch den "[:space:]" verwenden Zeichensatz zum Löschen horizontaler und vertikaler Leerzeichen.

$ tr -d "[:Leerzeichen:]"   

Beispiel 5 – Squeeze-Wiederholungen

Wenn das Flag „-s oder --squeeze-repeats " verwendet wird, werden die in SET1 angegebenen wiederholten Zeichen durch ein einzelnes Vorkommen des Zeichens ersetzt. Im folgenden Beispiel können Sie sehen, dass ich 4 gleich (= verwendet habe ) Schild. Jetzt -s ersetzt 4 (= ) mit 1 (= ).

$ echo "Produktions-IP ====192.168.1.10" | tr -s "="Produktions-IP =192.168.1.10

Unten ist ein weiteres Beispiel, in dem Zeilenumbrüche (\n ) gequetscht werden.

$ cat tr_test.txt | tr -s "\n"

Beispiel 6 – Komplement

Wenn das -c flag verwendet wird, führt es eine inverse Übersetzung für die gegebene Menge durch. Im folgenden Beispiel übersetzt tr alle Alphabete in "*" normalerweise. Aber wenn -c verwendet wird, wird die Operation invertiert. Außer Buchstaben werden alle anderen Zeichen durch "*" ersetzt .

$ echo "Mitarbeiternummer ist 1267890" | tr -c "[:alpha:]" "*"

Sie können dies mit anderen Flags kombinieren, um bestimmte Ergebnisse zu erzielen. Zum Beispiel wenn Sie mit dem -d kombinieren Flag, wird eine umgekehrte Löschoperation durchgeführt.

$ echo "Mitarbeiternummer ist 1267890" | tr -cd "[:Ziffer:]"

Hinweis: Aus dem obigen Beispiel können Sie sehen, dass das Zeilenumbruchzeichen ebenfalls übersetzt/gelöscht wird. Wenn Sie diese Methode verwenden, beachten Sie diesen Punkt und fahren Sie fort.

Beispiel 7 – Ausgabe umleiten

In allen vorherigen Abschnitten haben wir die Eingabe aus der Datei gelesen und einige Verarbeitungen mit dem tr durchgeführt Befehl und die Ausgabe wird an das Terminal gesendet. Wenn Sie die Ausgabe in eine Datei statt in ein Terminal umleiten möchten, verwenden Sie den Umleitungsoperator.

$ tr -s "\n"  neue_tr_test.txt

$ cat neue_tr_test.txt

Verwandte Lektüre:

  • Bash-Umleitung mit Beispielen erklärt

Schlussfolgerung

In diesem Artikel habe ich Sie durch die Verwendung von tr geführt Befehl. Unter Linux gibt es immer mehrere Möglichkeiten, dasselbe zu erreichen. Was wir in diesem Artikel gezeigt haben, kann auch mit anderen Programmen wie sed erreicht werden , awk , etc. Aber die Kenntnis dieser Befehle und verschiedener Möglichkeiten wird Ihnen helfen, die richtige Situation zu entscheiden, um den richtigen Befehl/das richtige Programm zu verwenden.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  3. nslookup Linux-Befehl mit Beispielen erklärt

  4. Linux Traceroute-Befehl, erklärt mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Bash Echo-Befehl mit Beispielen in Linux erklärt

Linux-IP-Befehl mit Beispielen

w Befehl mit Beispielen in Linux erklärt

Linux Cat-Befehl mit Beispielen erklärt

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)