Tr
tr - Texte systematisch Zeichen durch andere Zeichen ersetzen
Beschreibung
Der Befehl tr (von translate = umwandeln oder transliterate = transliterieren) dient dazu, in Texten systematisch Zeichen durch andere Zeichen zu ersetzen. So ist es beispielweise möglich, alle Großbuchstaben einer Datei durch Kleinbuchstaben zu ersetzen oder mehrere aufeinander folgende Leerzeichen durch ein einziges zu ersetzen. Für komplexere Ersetzungen, z.B. für ganze Wörter, empfiehlt sich das wesentlich mächtigere sed.
tr ist ein Unix-Kommando, dessen Name eine Abkürzung für translate (deutsch: übersetzen) ist, das bestimmte Zeichen aus einem Datenstrom ersetzt oder entfernt.
Das Werkzeug liest den Datenstrom der Standardeingabe, schreibt auf die Standardausgabe und benötigt je nach Modus ein (Löschen und Komprimieren) oder zwei (Ersetzen) Argumente.
Sollen Zeichen ersetzt werden, werden zwei Argumente benötigt, zuerst die zu ersetzenden Zeichen, im zweiten die neuen.
Abhängig von der Art der Arbeit, die Sie auf der Kommandozeile unter Linux erledigen, können Sie ein Dienstprogramm wünschen, das als Schweizer Taschenmesser für die schnelle Textbearbeitung fungieren kann. Gerne 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 diskutieren.
Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.
tr is a very useful UNIX command. It is used to transform string or delete characters from the string. Various type of transformation can be done by using this command, such as searching and replacing text, transforming string from uppercase to lowercase or vice versa, removing repeated characters from the string etc. The command can be used for some complicated transformation also. The different uses of tr command are shown in this tutorial.
So erklärt es die Man Page des Tools:
Translate, squeeze, and/or delete characters from standard input, writing to standard output.
Installation
Anwendungen
Fehlerbehebung
Syntax
Und folgendes ist seine Syntax:
tr [OPTION]... SET1 [SET2]
hier ist, was SET bedeutet:
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
Depending on the kind of work you do on the command line in Linux, you may want a utility that can act as a Swiss army knife of quick text editing. Gladly, there exists a tool dubbed tr, which qualifies for this role. In this tutorial, we will discuss the basics of tr using some easy to understand examples.
Here's how the tool's man page explains it:
Translate, squeeze, and/or delete characters from standard input, writing to standard output.
And following is its syntax:
tr [OPTION]... SET1 [SET2]
here's what SET means:
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
Along with the Linux sed command, the tr command stands for translate is used to provide a level of swapping or translation, suppression or deletion of files. The tr command just translates one character to another character. In this article, we’ll share a couple of examples demonstrating some exciting things that we can do with the tr command.
tr OPTION ZEICHENFOLGE1 ZEICHENFOLGE2 tr [option] stringValue1 [stringValue2]
option and stringValue2 are optional for tr command. You can use -c, -s and -d option with tr command to do different types of tasks.
tr [OPTION] [SET1] [SET2]
SET1 denotes what we wish to translate in the input file, and SET2 means what we want to convert SET1 as the output of the translation. So the sets can be a single character or multiple characters.
Example1: Suppose you just want to replace a in “sahil suri” with b we can use tr sets. We use echo command to send “sahil suri” to tr command. The tr command by default is not able to read data stream. We use Linux inbuilt redirection operators to feed data to tr command.
echo "sahil suri" | tr 'a' 'b' sbhil suri
Example2: Suppose if you want to replace multiple characters one after the other then we can use below-set examples. Suppose you want to replace a with b, r with x and i with z, below is the case you are looking at.
echo "sahil suri" | tr 'ari' 'bxz' sbhzl suxz
Note: Make sure that first set and second set have the same number of characters. For example, i is just replaced with z as we don’t have the third character on the list below.
echo "sahil suri" | tr 'ari' 'bz' sbhzl suzz
Similarly, we can use sets to convert multiple letters. Some of the sets tr supports are as below.
Optionen
Option | Beschreibung |
-c, -C oder --complement | Komplement der angegebenen Zeichenfolge |
-d oder --delete | Löschen (nicht Ersetzen) von Zeichen |
-s oder --squeeze-repeats | Mehrere identische aufeinanderfolgende Zeichen durch ein einzelnes ersetzen |
-t oder --truncate-set1 | Beschneide zunächst den ersten Datensatz auf die Länge des zweiten Datensatzes |
Befehlssequenzen
Option | Beschreibung |
\\ | Backslash |
\b | Rücktaste |
\n | Zeilenumbruch |
\t | Horizontaler Tab |
ZEICHEN1-ZEICHEN 2 | Alle Zeichen von ZEICHEN 1 bis ZEICHEN2 |
[:alpha:] | Alle Buchstaben |
[:blank:] | Alle horizontalen Leerzeichen |
[:digit:] | Alle Zahlen |
[:lower:] | Alle Kleinbuchstuben |
[:upper:] | Alle Großbuchstaben |
Weitere Angaben sind der Manpage zu entnehmen. Man beachte, dass die Zsh die eckigen Klammern z.B. in [:blank:] als Wildcard-Parameter interpretiert und sie daher nicht an tr weitergibt. Benutzer der Zsh sollten solche Argument daher in einfache oder doppelte Anführungszeichen einschließen.
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Siehe auch
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
- Sed (Unix)https://de.wikipedia.org/wiki/Sed_(Unix)
- tr(1) - Unix achter Handbucheintrag.
- [1] Manpage
- Beispiele aus examplenow.com
- GNU Core Utilities 🇬🇧http://www.gnu.org/software/coreutils/
- tr
- tr: Translate Characters -> Syntax und Beispiele 🇩🇪 – Blogartikel 5/2010
- Shell-Tipps 🇩🇪 – Artikel in EasyLinux 11/2003
- Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5