Abhängig von der Art der Arbeit, die Sie auf der Befehlszeile unter Linux erledigen, möchten Sie vielleicht ein Dienstprogramm, das als Schweizer Taschenmesser für die schnelle Textbearbeitung fungieren kann. Glücklicherweise gibt es ein Tool namens tr, das sich für diese Rolle qualifiziert. In diesem Tutorial werden wir die Grundlagen von tr anhand einiger leicht verständlicher Beispiele besprechen.
Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner und auf Debian 10 getestet wurden.
Der Linux-tr-Befehl
So erklärt es die Manpage des Tools:
Translate, squeeze, and/or delete characters from standard input, writing to standard output.
Und das Folgende ist seine Syntax:
tr [OPTION]... SET1 [SET2]
Folgendes bedeutet SET:
SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie der Befehl tr funktioniert.
Q1. Wie konvertiert man Kleinbuchstaben in Großbuchstaben mit tr?
Angenommen, Sie möchten den Satz „linux tutorial on howtoforge“ in Großbuchstaben umwandeln, dann können Sie dies mit tr.
folgendermaßen tunecho 'linux tutorial on howtoforge' | tr "[:lower:]" "[:upper:]"
Der obige Befehl erzeugte auf meinem System die folgende Ausgabe:
LINUX TUTORIAL ON HOWTOFORGE
Q2. Wie entferne ich zusätzliche Leerzeichen mit tr?
Angenommen, Sie haben eine Zeile wie:"HowtoForge ist eine äußerst gute Ressource für Linux-Tutorials". Und die Anforderung ist, zusätzliche Leerzeichen aus dieser Zeile zu entfernen.
So können Sie tr dazu verwenden:
echo 'HowtoForge is an extremely good resource for Linux tutorials' | tr -s '[:space:]'
Hier ist die Ausgabe:
HowtoForge is an extremely good resource for Linux tutorials
Q3. Wie lösche ich Text mit tr?
Angenommen, Sie möchten die Bindestriche aus der folgenden Zeile löschen:"HowtoForge -- ist -- eine -- extrem -- gute -- Ressource -- für -- Linux -- Tutorials." Dann erfahren Sie hier, wie Sie dies mit tr.
tun könnenecho 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr -d '-'
Es folgt die erzeugte Ausgabe:
HowtoForge is an extremely good resource for Linux tutorials
Q4. Wie ersetzt man Zeichen mit tr?
Angenommen, die Anforderung im vorherigen Abschnitt bestand darin, Bindestriche durch, sagen wir, Punkte zu ersetzen. Dann erfahren Sie hier, wie Sie dies mit tr.
tun könnenecho 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr '-' '.'
Es folgt die erzeugte Ausgabe:
HowtoForge .. is .. an .. extremely .. good .. resource .. for .. Linux .. tutorials
Schlussfolgerung
Sie können also sehen, dass der Befehl tr ein äußerst hilfreiches Werkzeug ist, wenn es um die Bearbeitung von Text geht. Wir haben hier einige Hauptoptionen besprochen, aber das Dienstprogramm bietet auch viele andere Befehlszeilenoptionen. Probieren Sie zuerst diese aus, und sobald Sie eine gute Vorstellung davon haben, was wir hier besprochen haben, können Sie mehr über tr erfahren, indem Sie zur Manpage gehen.