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

Linux tr-Befehl mit Beispielen

Einführung

Der tr command ist ein Linux-Befehlszeilendienstprogramm, das Zeichen aus der Standardeingabe übersetzt oder löscht (stdin ) und schreibt das Ergebnis auf die Standardausgabe (stdout ). Verwenden Sie tr um verschiedene Texttransformationen durchzuführen, einschließlich Groß-/Kleinschreibung, Stauchen oder Löschen von Zeichen und grundlegende Textersetzung.

Seit tr kann eine Datei nicht direkt lesen und gibt die Ergebnisse in der Standardausgabe aus, es wird oft mit Pipes verwendet (| ) und Weiterleitungen (>> ), um eine komplexere Verarbeitung von Dateiinhalten zu ermöglichen.

In diesem Tutorial lernen Sie, Linux tr zu verwenden Befehl.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Zugriff auf das Terminal (Strg + Alt + T ).

Linux tr-Befehlssyntax

Die grundlegenden tr Befehlssyntax ist:

tr [options] SET1 [SET2]

Optionen

Ausführen von tr ohne Optionen ersetzt jedes der in SET1 angegebenen Zeichen mit den Zeichen aus SET2 die die gleiche Position haben.

Zum Beispiel:

Im obigen Beispiel wird die Ausgabe des echo-Befehls in tr geleitet Befehl, der jede Instanz von e ersetzt mit o .

EINSTELLEN

SET s sind Zeichenfolgen. Der Befehl akzeptiert die folgenden interpretierten Sequenzen für den Zeichenabgleich:

Sequenz Interpretation
\NNN Zeichen mit dem NNN Oktalwert (1 bis 3 Oktalziffern).
\\ Backslash.
\a Ein hörbares Glockenzeichen.
\b Rücktaste.
\f Formular-Feed.
\n Zeilenumbruchzeichen.
\r Rückgabezeichen.
\t Horizontaler Tab.
\v Vertikaler Tab.
CHAR1-CHAR2 Alle Zeichen ab CHAR1 bis CHAR2 in aufsteigender Reihenfolge.
[CHAR*] Kopiert CHAR* in SET2 bis zu einer Länge von SET1 .
[CHAR*REPEAT] Wiederholt Kopien von CHAR . Wiederholt oktal, wenn mit 0 begonnen wird.
[:alnum:] Alle Buchstaben und Ziffern.
[:alpha:] Alle Buchstaben.
[:blank:] Horizontale Leerzeichen.
[:cntrl:] Alle Steuerzeichen.
[:digit:] Alle Ziffern.
[:graph:] Druckbare Zeichen, ohne Leerzeichen.
[:lower:] Alle Kleinbuchstaben.
[:print:] Druckbare Zeichen, einschließlich Leerzeichen.
[:punct:] Alle Satzzeichen.
[:space:] Horizontale oder vertikale Leerzeichen.
[:upper:] Alle Großbuchstaben.
[:xdigit:] Hexadezimalziffern.
[=CHAR=] Alle Zeichen entsprechen CHAR .

Hinweis: Ein weiterer großartiger Unix-Text-Stream-Editor ist SED. Mit dem Tool können Sie Zeilen in einer Textdatei suchen, ersetzen, hinzufügen und löschen, ohne sie in einem Texteditor öffnen zu müssen.

Linux tr-Befehlsoptionen

Die Optionen bieten zusätzliche Zeichenumwandlungsaktionen. Die verfügbaren Optionen sind:

Option Beschreibung
-C Ergänzt die Zeichen in SET1 , einschließlich aller Zeichen in der Ausgabe außer den angegebenen.
-c Ergänzt die Werte in SET1 . Operationen gelten für Zeichen, die nicht in der gegebenen Menge enthalten sind.
-d Löscht Zeichen aus SET1  Eingabe.
-s Komprimiert wiederholte Zeichen, die im letzten Operanden angegeben sind (entweder SET1 oder SET2 ) und ersetzt sie durch ein einzelnes Vorkommen dieses Zeichens.
-t Kürzt SET1 auf die Länge von SET2 .
-u Stellt sicher, dass alle Ausgaben ungepuffert sind.
--help Zeigt die Hilfedatei mit allen verfügbaren Optionen an.
--version Zeigt die Programmversionsinformationen an.

Linux tr-Beispiele

Nachfolgend finden Sie Beispiele für die Verwendung von tr Befehl mit verschiedenen Optionen zum Umwandeln von Eingabetext.

Groß-/Kleinschreibung ändern

Es gibt drei Möglichkeiten, die Groß-/Kleinschreibung mit tr zu ändern :

1. Geben Sie die genauen Zeichen an, die Sie konvertieren möchten

Geben Sie an, welche Zeichen aus der Eingabe Sie konvertieren möchten. Diese Option ändert die Groß-/Kleinschreibung oder ganze Zeichen und ersetzt die aus SET1 mit denen von SET2 .

Zum Beispiel:

2. Geben Sie den Zeichenbereich für die Konvertierung an

Die Angabe eines Bereichs erlaubt tr um die Groß-/Kleinschreibung eines beliebigen Zeichens innerhalb dieses angegebenen Bereichs zu ändern. Das folgende Beispiel zeigt, wie Großbuchstaben in Kleinbuchstaben umgewandelt werden:

Drücken Sie STRG+C um den Eingabemodus zu verlassen.

3. Interpretierte Sequenzen angeben

Gleichen Sie Zeichen ab und konvertieren Sie sie, indem Sie interpretierte Sequenzen angeben. Die Sequenz für Kleinbuchstaben ist beispielsweise [:lower:] , und die Sequenz für Großbuchstaben ist [:upper:] . Die Angabe der beiden Sequenzen weist tr an zum Abgleichen und Konvertieren der Groß-/Kleinschreibung:

Das obige Beispiel zeigt, wie tr wandelt Großbuchstaben in Kleinbuchstaben um.

Entfernen Sie wiederholte Zeichen

Die -s Option komprimiert wiederholte Zeichen in eine einzelne Instanz dieses Zeichens. Die Option ist besonders nützlich, wenn Leerzeichen in Tabulatoren oder Zeilenumbruchzeichen umgewandelt werden und der Eingabetext mehrere fortlaufende Leerzeichen enthält.

Die folgende Eingabe enthält beispielsweise mehrere Leerzeichen. Das Konvertieren in Tabulatoren ohne Drücken liefert das folgende Ergebnis:

Um mehrere Tabulatoren und Leerzeichen in der Ausgabe zu vermeiden, geben Sie -s an Möglichkeit:

Zeichen löschen

Entfernen Sie bestimmte Zeichen mit -d Möglichkeit. Im folgenden Beispiel tr löscht jede Instanz des e Zeichen:

Geben Sie optional eine Gruppe von Zeichen mit interpretierten Sequenzen an. Entfernen Sie beispielsweise alle Ziffern, indem Sie [:digit:] angeben Reihenfolge:

Ergänzungssets

Verwenden Sie den -c Option zur Ergänzung der Zeichen in SET1 . Im folgenden Beispiel entfernen wir alle Zeichen außer Ziffern:

Alle Zeichen, die nicht im angegebenen Satz enthalten sind (in diesem Fall alles außer Ziffern), werden entfernt.

Entfernen Sie Zeilenumbrüche

Verkleinern Sie den Platz, den ein Text einnimmt, indem Sie Zeilenumbruchzeichen in Leerzeichen umwandeln. Der Inhalt erscheint dann in einer einzigen Zeile.

Im folgenden Beispiel verwenden wir den cat-Befehl, um eine Textdatei zu öffnen und sie an tr weiterzuleiten Um Zeilenumbrüche zu entfernen:

Weiterleitung nach tr

Eine Alternative zum Weiterleiten ist die Verwendung der Umleitung, um Inhalte in tr einzuspeisen . Außerdem können Sie die Umleitung verwenden, um tr zu speichern Ausgabe in eine Datei.

Das folgende Beispiel zeigt, wie alle nicht druckbaren Zeichen aus einer Datei entfernt werden, deren Inhalt in tr umgeleitet wird :

Satz abschneiden

Standardmäßig, wenn SET1 ist länger als SET2 , tr verwendet das letzte Zeichen von SET2 wieder bei der Bearbeitung der Eingabe. Zum Beispiel:

Seit SET1 ist länger als SET2 , tr verwendet das letzte Zeichen von SET2 wieder , in diesem Fall 2 .

Verwenden Sie den -t Option zum Abschneiden von SET1 auf die Länge von SET2 :

Die -t Option weist tr an um SET1 abzuschneiden auf die Länge von SET2 und ersetzt nur die ersten beiden Zeichen.

Diakritische Zeichen entfernen

Verwenden Sie den [=CHAR=] Sequenz, um alle Zeichen abzugleichen, die dem angegebenen entsprechen. Beispielsweise kann die Sequenz diakritische Zeichen identifizieren und aus Zeichen entfernen.

Jedes Wort separat drucken

Drucken Sie den Inhalt einer Datei Zeile für Zeile mit -c Option und ersetzen Sie die nicht-alphanumerischen Zeichen durch ein Zeilenumbruchzeichen.

Hinweis: Wenn Sie Bash bevorzugen, sehen Sie sich an, wie man eine Datei Zeile für Zeile liest.

Die Ausgabe wird nun wortweise angezeigt.

Ausgabe in Datei speichern

Seit tr ändert den Inhalt einer Datei nicht direkt, es speichert auch keine von Ihnen vorgenommenen Änderungen. Speichern Sie die Ausgabe in einer Datei, indem Sie sie umleiten, wie im folgenden Beispiel gezeigt:

Öffnen der neuen Datei mit cat zeigt an, dass die Änderungen gespeichert wurden.

Fazit

Dieses Tutorial hat gezeigt, wie man tr verwendet Befehl und seine verfügbaren Optionen für verschiedene Texttransformationen. Sehen Sie sich andere Linux-Textdienstprogramme in unseren Handbüchern für den Sortierbefehl und weniger Terminalpager an oder sehen Sie sich die besten Linux-Texteditoren an.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Wartebefehl in Linux mit Beispielen

Linux-Exportbefehl mit Beispielen

Neustartbefehl unter Linux mit Beispielen

Linux-IP-Befehl mit Beispielen