Tr (Unix)

tr
Tr Unix.png
Das tr Befehl
Originalautor (en) Douglas McIlroy
(AT & T Bell Laboratories)
Entwickler (en) Verschiedene Open Source und kommerziell Entwickler
Erstveröffentlichung November 1973; Vor 48 Jahren
Repository
Geschrieben in C
Betriebssystem Unix, Unix-artig, Plan 9, Inferno, OS-9, MSX-dos, Ibm i
Plattform Plattformübergreifend
Typ Befehl
Lizenz CoreUtils: GPLV3+
Plan 9: MIT -Lizenz

tr ist ein Befehl in Unix, Plan 9, Inferno, und Unix-artig Betriebssysteme. Es ist eine Abkürzung von Übersetzen oder TransliterateAngabe des Betriebs des Ersetzens oder Entfernens bestimmter Zeichen in seinem Eingabedatensatz.

Überblick

Das Dienstprogramm liest einen Bytestrom aus seinem Standardeingabe und schreibt das Ergebnis in die Standardausgabe. Wie ArgumenteEs dauert zwei Zeichensätze (im Allgemeinen derselben Länge) und ersetzt das Vorkommen der Zeichen im ersten Satz durch die entsprechenden Elemente aus dem zweiten Satz. Zum Beispiel,

Tr 'ABCD' 'JKMN'

Karten alle Charaktere a zu j, b zu k, c zu m, und d zu n.

Der Zeichensatz kann durch die Verwendung von Zeichenbereichen abgekürzt werden. Das vorherige Beispiel könnte geschrieben werden:

tr 'a-d' 'jkmn'

Im Posix-Compliant -Versionen von tr, der von einem Zeichenbereich dargestellte Satz abhängig von der Lokale SammelordnungEs ist also sicherer, Charakterbereiche in Skripten zu vermeiden, die möglicherweise in einem anderen Gebietsschema ausgeführt werden, in dem sie geschrieben wurden. Bereiche können oft durch ersetzt werden Posix Zeichensätze wie z. [:Alpha:].

Das s Flagge verursacht tr zum Komprimieren von Sequenzen identischer benachbarter Zeichen in seiner Ausgabe zu einem einzelnen Token. Zum Beispiel,

tr -s '\ n'

Ersetzt Sequenzen eines oder mehrerer neuer Zeilenzeichen durch eine einzige neue Linie.

Das d Flagge verursacht tr So löschen Sie alle Token der angegebenen Zeichensets aus der Eingabe. In diesem Fall wird nur ein einzelnes Zeichen -Argument verwendet. Der folgende Befehl beseitigt die Return -Charaktere der Wagen.

tr -D '\ r'

Das c Flag gibt die Ergänzung des ersten Zeichens von Zeichen an. Die Aufruf

TR -CD '[: Alnum:]'

Daher entfernt alle nicht-alphanumerischen Zeichen.

Implementierungen

Die Originalversion von tr wurde geschrieben von Douglas McIlroy und wurde eingeführt in Version 4 Unix.[1]

Die Version von tr gebündelt GNU CoreUtils wurde von Jim Meyering geschrieben.[2] Der Befehl ist als separates Paket für verfügbar Microsoft Windows Im Rahmen des Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamen GNU-Unix-ähnlichen Versorgungsunternehmen.[3] Es ist auch in der erhältlich OS-9 Hülse.[4] A tr Befehl ist auch Teil von ASCII's MSX-DOS2-Tools zum MSX-dos Version 2.[5] Das tr Der Befehl wurde auch auf die portiert Ibm i Betriebssystem.[6]

Die meisten Versionen von tr, einschließlich GNU tr und klassische Unix trmit Single-Byte-Charakteren arbeiten und nicht sind Unicode konform. Eine Ausnahme ist die Erbstück Toolchest Implementierung, die grundlegende Unicode -Unterstützung bietet.

Rubin und Perl haben auch eine interne tr Operator, der analog funktioniert.[7][8] Tcl's String -Karte Der Befehl ist insofern allgemeiner, als er Saiten an Saiten ordnet, während die Trickzeichen auf Zeichen aufmerksam sind.[9]

Siehe auch

Verweise

  1. ^ McIlroy, M. D. (1987). A Research Unix Reader: Annotierte Auszüge aus dem Programmierhandbuch, 1971–1986 (PDF) (Technischer Bericht). Informatik. AT & T Bell Laboratories. 139.
  2. ^ "Tr (1): Übersetzen/Löschen von char - Linux Man Page".
  3. ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
  4. ^ Paul S. Dayan (1992). Der OS -9 -Guru - 1: Die Fakten. Galaktische Industrial Limited. ISBN 0-9519228-0-7.
  5. ^ MSX-DOS2-Tools-Benutzerhandbuch von ASCII Corporation
  6. ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
  7. ^ "Tr (String) - Apidock". Apidock. Abgerufen 12. August 2015.
  8. ^ "tr - perldoc.perl.org". perldoc.perl.org. Abgerufen 12. August 2015.
  9. ^ "TCL -integrierte Befehle - String Manual Page". Abgerufen 12. August 2015.

Externe Links