tr-Befehl unter Unix/Linux mit Beispielen

Der tr command ist ein UNIX-Befehlszeilendienstprogramm zum Übersetzen oder Löschen von Zeichen. Es unterstützt eine Reihe von Transformationen, darunter Groß- in Kleinbuchstaben, das Unterdrücken sich wiederholender Zeichen, das Löschen bestimmter Zeichen sowie grundlegendes Suchen und Ersetzen. Es kann mit UNIX-Pipes verwendet werden, um komplexere Übersetzungen zu unterstützen. tr steht für übersetzen.

Syntax :

 $ tr [OPTION] SET1 [SET2] 

Optionen -c: ergänzt den Zeichensatz in string. d. h. Operationen gelten für Zeichen, die nicht im angegebenen Satz enthalten sind. -d: Löscht Zeichen im ersten Satz aus der Ausgabe. -s: ersetzt wiederholte Zeichen, die in set1 aufgeführt sind, durch einzelne Vorkommen. -t: kürzt set1.

Beispielbefehle

1. So konvertieren Sie Kleinbuchstaben in Großbuchstaben. Um Zeichen von Kleinbuchstaben in Großbuchstaben umzuwandeln, können Sie entweder einen Zeichenbereich angeben oder die vordefinierten Zeichenklassen verwenden.

 $ cat greekfile 

Ausgabe:

WELCOME TO techcodeview.com 
 $ cat greekfile | tr [a-z] [A-Z] 

Ausgabe:

WELCOME TO GEEKSFORGEEKS 

oder

 $ cat greekfile | tr [:lower:] [:upper:] 

Ausgabe:

WELCOME TO GEEKSFORGEEKS 

Alternativ können Sie Eingaben für die bereitstellen tr Befehl mit Umleitung:

 tr [:lower:] [:upper:] 

Ausgabe:

WELCOME TO GEEKSFORGEEKS 

2. So übersetzen Sie Leerzeichen in Tabulatoren. Der folgende Befehl übersetzt alle Leerzeichen in Tabulatoren

 $ echo 'Welcome To techcodeview.com' | tr [:space:] '	' 

Ausgabe:

Welcome To techcodeview.com 

Im vorherigen Beispiel können wir auch die Umleitung verwenden, um Eingaben bereitzustellen tr . Allerdings werden wir dieses Mal dafür einen Here-String verwenden:

 tr [:space:] '	'  < < < 'Welcome To techcodeview.com' 

Ausgabe:

Welcome To techcodeview.com 

3. So übersetzen Sie geschweifte Klammern in Klammern. Sie können auch aus und in eine Datei übersetzen. In diesem Beispiel übersetzen wir geschweifte Klammern in einer Datei mit Klammern.

 $ cat greekfile 

Ausgabe:

{WELCOME TO} techcodeview.com 
 $ tr '{}' '()' newfile.txt 

Ausgabe:

(WELCOME TO) techcodeview.com 

Der obige Befehl liest jedes Zeichen aus geekfile.txt, übersetzt, wenn es eine geschweifte Klammer ist, und schreibt die Ausgabe in newfile.txt.

4. So komprimieren Sie eine Folge sich wiederholender Zeichen mit der Option -s. Um das wiederholte Vorkommen von in einem Satz angegebenen Zeichen zu unterdrücken, verwenden Sie die Option -s. Dadurch werden wiederholte Vorkommen von Zeichen des zuletzt angegebenen SET entfernt. ODER wir können sagen, dass Sie mehrere zusammenhängende Leerzeichen mit einem einzigen Leerzeichen umwandeln können

 $ echo 'Welcome To techcodeview.com' | tr -s ' ' 

Ausgabe:

Welcome To techcodeview.com 

Führen Sie die gleiche Aufgabe noch einmal aus, verwenden Sie hier jedoch eine Zeichenfolge:

 tr -s ' '  < < < 'Welcome To techcodeview.com' 

Ausgabe:

Welcome To techcodeview.com 

5. So löschen Sie bestimmte Zeichen mit der Option -d. Um bestimmte Zeichen zu löschen, verwenden Sie die Option -d. Diese Option löscht Zeichen im ersten angegebenen Satz.

 $ echo 'Welcome To techcodeview.com' | tr -d W 

Ausgabe:

elcome To techcodeview.com 

Oder verwenden Sie äquivalent:

 tr -d W  < < < 'Welcome to techcodeview.com' 

Ausgabe:

elcome To techcodeview.com 

6. Um alle Ziffern aus der Zeichenfolge zu entfernen, können Sie verwenden

 $ echo 'my ID is 73535' | tr -d [:digit:] 

oder

 $ tr -d [:digit:]  < < < 'my ID is 73535' 

Ausgabe:

my ID is 

7. So ergänzen Sie die Mengen mit der Option -c Sie können SET1 mit der Option -c ergänzen. Um beispielsweise alle Zeichen außer Ziffern zu entfernen, können Sie Folgendes verwenden.

 $ echo 'my ID is 73535' | tr -cd [:digit:] 

oder

 $ tr -cd [:digit:]  < < < 'my ID is 73535' 

Ausgabe:

73535