Website-Suche

10 tr-Befehlsbeispiele unter Linux


tr (kurz für translate) ist ein nützliches Befehlszeilenprogramm, das Zeichen aus der stdin-Eingabe übersetzt und/oder löscht und in stdout schreibt. Es ist ein nützliches Programm zum Bearbeiten von Text in der Befehlszeile.

In diesem Artikel werden einige nützliche Beispiele für tr-Befehle für Linux-Neulinge erläutert.

Die Syntax zum Ausführen des tr-Befehls lautet wie folgt, wobei Zeichen in SET1 in Zeichen in SET2 übersetzt werden.

tr flags [SET1] [SET2]

Beispiele für Linux-tr-Befehle

1. Ein einfacher Anwendungsfall für den tr-Befehl besteht darin, alle Kleinbuchstaben im Text in Großbuchstaben umzuwandeln und umgekehrt, wie unten gezeigt.

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. Alternativ können Sie den folgenden Befehl verwenden, um alle Kleinbuchstaben in einer Datei wie gezeigt in Großbuchstaben umzuwandeln.

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. Um die in stdout geschriebenen Ergebnisse zur späteren Verarbeitung in einer Datei zu speichern, verwenden Sie wie gezeigt die Ausgabeumleitungsfunktion (>) der Shell.

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. In Bezug auf die Umleitung können Sie Eingaben mithilfe der Eingabeumleitung an tr senden und die Ausgabe mit demselben Befehl wie gezeigt in eine Datei umleiten.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Eine weitere nützliche Funktion besteht darin, dass Sie das Flag -d verwenden können, um Zeichen zu löschen, um beispielsweise die Leerzeichen in den Domänennamen mit dem folgenden Befehl zu entfernen.

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

6. Wenn der Text, den Sie verarbeiten, sich wiederholende Zeichen in einer Sequenz enthält (z. B. doppelte Leerzeichen), können Sie die Option -s verwenden, um die Zeichen so zusammenzudrücken, dass sie nur übrig bleiben ein Vorkommen davon.

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

7. Die Option -c weist tr an, das Komplement im gegebenen SET zu verwenden. In diesem Beispiel möchten wir alle Buchstaben löschen und nur die UID belassen.

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Hier ist ein Beispiel für die Aufteilung einer einzelnen Wortzeile (Satz) in mehrere Zeilen, wobei jedes Wort separat erscheint.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. Ähnlich wie im vorherigen Beispiel können Sie wie gezeigt auch mehrere Wortzeilen in einen einzigen Satz übersetzen.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. Es ist auch möglich, nur ein einzelnes Zeichen, beispielsweise ein Leerzeichen, wie folgt in ein “ : -Zeichen zu übersetzen.

$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

Es gibt mehrere Sequenzzeichen, die Sie mit tr verwenden können. Weitere Informationen finden Sie auf der Manpage zu tr.

man tr

Das ist alles! tr ist ein nützlicher Befehl zum Bearbeiten von Text in der Befehlszeile. In diesem Handbuch haben wir einige nützliche Anwendungsbeispiele für den tr-Befehl für Linux-Neulinge gezeigt. Sie können uns Ihre Gedanken über das Kommentarformular unten mitteilen.