Befehl "trbsd"

Zweck

Setzt Zeichen um (BSD-Version).

Syntax

trbsd [ -c ] [ -d ] [ -s ] [ -A ] [ Zeichenfolge1 [ Zeichenfolge2 ] ]

Beschreibung

Der Befehl trbsd löscht oder ersetzt Zeichen aus der Standardeingabe und schreibt das Ergebnis in die Standardausgabe. Der Befehl trbsd ist die BSD-Version des Befehls tr. Der Befehl trbsd führt drei Arten von Operationen aus, die jeweils von den mit den Parametern und Flags angegebenen Zeichenfolgen abhängig sind. Die Standardwerte für die Parameter Zeichenfolge1 und Zeichenfolge2 sind Nullzeichenfolgen.

Zeichen transformieren

Wenn die Parameter Zeichenfolge1 und Zeichenfolge2 beide angegeben sind und das Flag -d nicht angegeben ist, ersetzt der Befehl trbsd jedes Zeichen aus der mit dem Parameter Zeichenfolge1 angegebenen Standardeingabe durch das Zeichen an derselben Position in der mit dem Parameter Zeichenfolge2 angegebenen Zeichenfolge.

Wenn der Parameter Zeichenfolge1 ein Zeichen mehr als einmal angibt, wird das Zeichen in das Zeichen im Parameter Zeichenfolge2 umgesetzt, das dem letzten Vorkommen des Zeichens im Parameter Zeichenfolge1 entspricht.

Zeichen mit dem Flag -d löschen

Wenn das Flag -d angegeben ist, löscht der Befehl trbsd jedes Zeichen aus der mit dem Parameter Zeichenfolge1 angegebenen Standardeingabe.

Folge von Zeichen mit dem Flag -s entfernen

Wenn das Flag -s angegeben ist, löscht der Befehl trbsd alle Zeichen bis auf das erste in einer Folge von zwei oder mehr Wiederholungen eines mit dem Parameter Zeichenfolge2 angegebenen Zeichens aus der Standardeingabe.

Die Parameter Zeichenfolge1 und Zeichenfolge2 müssen beide angegeben werden, wenn die Flags -d und -s beide angegeben sind.

Hinweis: Der Befehl trbsd löscht alle Nullzeichen aus der Standardeingabe, bevor die Verarbeitung beginnt.

Spezielle Schreibweisen für die Angabe von Zeichenfolgen

Die in den Parametern Zeichenfolge1 und Zeichenfolge2 enthaltenen Zeichenfolgen können mit den folgenden Konventionen ausgedrückt werden:

Element Beschreibung
C1 - C2 Gibt die sortierte Zeichenfolge zwischen dem mit dem Parameter C1 angegebenen Zeichen und dem mit dem Parameter C2 angegebenen Zeichen an. Das mit dem Parameter C1 angegebene Zeichen muss in der Sortierreihenfolge vor dem mit dem Parameter C2 angegebenen Zeichen stehen.
\Oktal Gibt das Zeichen an, dessen Codierung durch den angegebenen Oktalwert dargestellt wird. Der Oktalwert kann eine ein-, zwei- oder dreistellige oktale Ganzzahl sein. Mehrbytezeichen können durch Angabe von Oktalfolgen mit vorangestelltem Backslash für jedes Byte ausgedrückt werden.
\- Die Angabe "\-" (Backslash, Minuszeichen) gibt das Minuszeichen selbst an ohne Sonderbedeutung als Escapezeichen an.

Wenn die mit den Parametern Zeichenfolge1 und Zeichenfolge2 angegebenen Zeichenfolgen nicht dieselbe Länge haben, füllt der Befehl trbsd die kürzere Zeichenfolge auf die Länge der längeren Zeichenfolge auf. Für das Auffüllen wird das letzte Zeichen in der kürzeren Zeichenfolge so oft wie nötig dupliziert.

Flags

Element Beschreibung
-A Führt alle Operationen byteweise unter Verwendung der ASCII-Sortierfolge für Bereiche und Zeichenklassen anstelle der Sortierfolge der aktuellen Ländereinstellung aus.
-c Gibt an, dass der Wert des Parameters Zeichenfolge1 durch das Komplement dieser Zeichenfolge ersetzt werden soll. Das Komplement sind alle Zeichen im Zeichensatz der aktuellen Ländereinstellung mit Ausnahme der mit dem Parameter Zeichenfolge1 angegebenen Zeichen. Wenn die Flags -A und -c zusammen angegeben werden, wird die Komplementärmenge aus allen 8-Bit-Zeichencodes gebildet.
-d Löscht jedes Zeichen aus der Standardeingabe, das im Parameter Zeichenfolge1 enthalten ist.
-s Löscht alle bis auf das erste Zeichen in einer Folge von zwei oder mehr Wiederholungen eines beliebigen Zeichens, das im Parameter Zeichenfolge2 enthalten ist, aus der Standardeingabe.

Beispiele

  1. Geben Sie Folgendes ein, um geschweifte Klammern in runde Klammern zu übersetzen:
    trbsd '{}' '()' < textfile > newfile
    Dies übersetzt jede{(linke geschweifte Klammer) bis((linke runde Klammer) und jede}(rechte geschweifte Klammer) zu)(rechte runde Klammer) Alle anderen Zeichen bleiben unverändert.
  2. Geben Sie Folgendes ein, um Pluszeichen mit Minuszeichen und Schrägstriche mit Sternen auszutauschen:
    trbsd '+\-/*' '\-+*/' < textfile > newfile
    Das Minuszeichen muss mit einem vorangestellten Backslash als Escapezeichen eingegeben werden.
  3. Geben Sie Folgendes ein, um Kleinbuchstaben in Großbuchstaben umzusetzen:
    trbsd 'a-z' 'A-Z' < textfile > newfile
  4. Geben Sie Folgendes ein, um eine Liste von Wörtern in einer Datei zu erstellen:
    trbsd -cs 'a-zA-Z' '\012' < textfile > newfile
    Dieser Befehl setzt jede Folge von Zeichen mit Ausnahme von Kleinbuchstaben und Großbuchstaben in ein einziges Zeilenvorschubzeichen um. Der Oktalwert 012 ist der Code für das Zeilenvorschubzeichen.
  5. Geben Sie Folgendes ein, um jede Folge von einem oder mehreren Zeilenumbrüchen durch einen einzelnen Zeilenumbruch zu ersetzen:
    trbsd -s '\012'  < textfile > newfile

Dateien

Element Beschreibung
/usr/bin/trbsd Enthält den Befehl trbsd.
/usr/ucb/tr Enthält einen symbolischen Link zum Befehl trbsd.