Linux-Befehle

Linux tr-Befehl

Linux tr-Befehl
In Linux ist „tr“ ein integriertes Tool, das „Zeichen aus der Standardeingabe übersetzen, quetschen und/oder löschen und in die Standardausgabe schreiben kann“ (von der Manpage).

Aus der offiziellen Beschreibung ist der Wert dieses Tools leicht zu verstehen. Linux wartet mit einer großen Sammlung integrierter Tools auf. Es gibt einige spezielle, die für die Textmanipulation sehr nützlich sind. Wir haben bereits einige davon behandelt, wie Vim, Nano, awk, sed und andere Tools.

Wer regelmäßig mit Texten arbeitet, dem wird „tr“ auf jeden Fall sehr, sehr nützlich sein. Dieser Artikel wird die gängigste Verwendung von „tr“ mit ausreichend Beispielen veranschaulichen illustrate.

Hinweis: Das Tutorial wird eine Menge Dummy-Dateien mit zufälligem Inhalt verwenden. Alle zufälligen Strings werden generiert von Zufällig.org.

Ort

welche tr

Dies ist der vollständige Pfad des Befehlstools „tr“.

Grundlegende Verwendung

Um das „tr“-Tool zu verwenden, müssen Sie die folgende Befehlsstruktur verwenden:.

tr [SET1] [SET2]

Es gibt verschiedene Optionen und Möglichkeiten, die Texte mit „tr“ zu manipulieren. Schauen wir uns zuerst diese Demodatei an.

Katzen-Demo.TXT

Alle Zeichen sind in Kleinbuchstaben, richtig? Lass sie uns in Großbuchstaben umwandeln!

Katzen-Demo.txt | tr [:untere:] [:obere:]

Hier zeigt der erste Parameter von „tr“ an, eine Übersetzung für alle Kleinbuchstaben der Eingabe durchzuführen. Der zweite Teil besteht darin, sie bei der Ausgabe in Großbuchstaben umzuwandeln.

Machen wir jetzt das Gegenteil.

Katzen-Demo1.TXT

Katzen-Demo1.txt | tr [:obere:] [:untere:]

Es gibt auch eine andere Möglichkeit, dieselbe Aufgabe auszuführen. Schauen wir es uns an.

Katzen-Demo.txt | tr [a-z] [A-Z]

Anstatt „tr“ zu sagen, dass Großbuchstaben in Kleinbuchstaben oder Kleinbuchstaben in Großbuchstaben übersetzt werden sollen, haben wir Einträge identifiziert, die dem Bereich „a“ bis „z“ entsprechen, und in ihr Äquivalent vom Bereich „A“ bis „Z“ übersetzt.

Diese ähnliche Methode kann auch verwendet werden, um Großbuchstaben in Kleinbuchstaben zu übersetzen.

Katzen-Demo1.txt | tr [A-Z] [a-z]

Mit Zahlen spielen

Wir haben gesehen, wie man Großbuchstaben in Kleinbuchstaben übersetzt, richtig? Es ist Zeit, mit Ziffern herumzuspielen.

Mit dem folgenden Befehl können wir alle Ziffern (0-9) einfach in ihre entsprechenden Zeichen übersetzen!

Katze demo_digit.TXT

Katze demo_digit.txt | tr [0-9] [a-z]

Genial! Wie wäre es mit Großbuchstaben??

Katze demo_digit.txt | tr [0-9] [A-Z]

Einfach, aber interessant, richtig? Wir können auch Zeichen in Ziffern umwandeln!

Katze demo_lowercase.TXT

Katze demo_lowercase.txt | tr [a-z] [0-9]

Uh oh, es scheint, als ob die Dinge zusammenbrachen, richtig? Nun, wir können nur 'a' bis 'j' verwenden, um einzelne Ziffern darzustellen. Wenn ein Zeichen außerhalb dieser Grenzen liegt, ersetzt „tr“ das Zeichen durch ']'.

Zeichen löschen

Wie die offizielle Beschreibung vermuten lässt, kann „tr“ mehr als nur die Übersetzung von Zeichen. Im folgenden Beispiel sehen wir uns an, wie man mit „tr“ bestimmte Zeichen löscht.

Katze zufällig.TXT

Löschen wir nun alle Zahlen aus dem Inhalt.

Katze zufällig.txt | tr -d [0-9]

Hier sagt das Flag „-d“ „tr“ zum Löschen und [0-9] bezeichnet Ziffern zum Löschen.

Das können wir auch mit den Charakteren machen. Der folgende Befehl behält alle Zahlen bei, entfernt aber alle Zeichen.

Katze zufällig.txt | tr -d [a-z]

Wie wäre es, nur ein einzelnes bestimmtes Zeichen aus der Datei zu entfernen??

Katze demo_lowercase.TXT

Katze demo_lowercase.txt | tr -d 'y'

Es hat alle 'y'-Einträge aus der Datei gelöscht.

Wiederholte Zeichen quetschen

Es gibt Zeiten, in denen ein Zeichen sequentiell wiederholt wird. Wenn Sie mit solchen nervigen Problemen zu tun haben, lassen Sie einfach „tr“ sich darum kümmern! Mit dem folgenden Befehl können Sie solche Vorkommnisse quetschen. Es behält im Wesentlichen das ursprüngliche Vorkommen des Zeichens bei und löscht die zusätzlichen.

Überprüfen Sie zunächst, wie die Demodatei aussieht.

Katze duplizieren.TXT

Übergeben Sie nun den Inhalt an „tr“.

Katze duplizieren.txt | tr -s [:Ziffern:]

Hier ist der Parameter „-s“ der Indikator für die Durchführung der Aktion „Squeeze“.

Sätze brechen/zusammenführen

Schauen wir uns die Demo-Datei an.

Fledermaus Duplikat.TXT

Es enthält einen Satz mit Leerzeichen, die die Wörter trennen, richtig? Teilen wir die Wörter in neue Zeilen auf.

Katze duplizieren.txt | tr " " "\n"

Dieser Befehl hat alle Leerzeichen durch Zeilenumbrüche ersetzt.

Lass uns den gebrochenen Satz wieder zu einem langen Satz zusammenfügen.

Fledermaus Duplikat.TXT

Katze duplizieren.txt | tr "\n" " "

Zeichen übersetzen

Genau wie wir zuvor Zeichen übersetzt haben, werden wir dieses Mal dasselbe tun, jedoch nur mit einem einzigen Zeichen.

Katzen-Demo.TXT

Lassen Sie uns in dieser Datei alle Newline-Zeichen in ein Semikolon ändern.

Katzen-Demo.txt | tr "\n" ";"

Ich musste es um "Echo" wickeln. Andernfalls würde es eine Ausgabe erzeugen, da das letzte Zeilenumbruchzeichen auch in ein Semikolon übersetzt würde.

Es gibt eine andere Möglichkeit, Charaktere zu ändern. Dieser ist jedoch schwerer zu kontrollieren.

Katze Duplikat1.TXT

Katze Duplikat1.txt | tr -c 'd' 'z'

Katze Duplikat1.txt | tr -c 'd' 'z'

Beeindruckend! Lassen Sie uns es um „Echo“ wickeln, um die Ausgabe besser zu verstehen.

echo $(cat duplikat1.txt | tr -c 'd' 'z')

Was ist hier passiert? Mit dem Flag „-c“ lässt „tr“ nur das Zielzeichen unverändert. Bei Nichtübereinstimmung wird jedes andere Zeichen umgewandelt. Hier wurde jedes Zeichen außer 'b' durch 'z' ersetzt.

Übersetzen von Zeichenfolgen

„tr“ kann auch mit Strings arbeiten. Lassen Sie uns den String-Ersatz durchführen.

Katze Duplikat1.TXT

Katze Duplikat1.txt | tr "duplicate" "not_duplicate"

Meine zu ersetzende Saite ist kürzer als die zu ersetzende Saite, also hat sie nicht gepasst.

Zeichensätze

Inzwischen haben Sie bemerkt, dass es eine Reihe von Zeichensätzen gibt, die von „tr“ unterstützt werden. Während in den obigen Beispielen einige davon verwendet wurden, sind auch andere Zeichensätze sehr hilfreich. Hier ist eine Liste aller unterstützten Charakterlisten.

POSIX-Zeichensätze

  • [:Ziffer:] : Ziffern 0-9
  • [:alpha:] : Alphabete a-z und A-Z.
  • [:alnum:] : Alphanumerische Zeichen
  • [:punct:] : Satzzeichen
  • [:space:] : Beliebiges Leerzeichen, zum Beispiel Leerzeichen, Tabulator, FF, CR, NL, FF usw.
  • [:upper:] : Alle Großbuchstaben
  • [:lower:] : Alle Kleinbuchstaben
  • [:cntrl:] : Alle Steuerzeichen (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL etc.)

Zusätzliche Zeichensätze

  • [A-Z] : Alle Großbuchstaben
  • [a-z] : Alle Kleinbuchstaben
  • [0-9] : Alle Ziffern

Abschließende Gedanken

Es gibt unzählige Möglichkeiten, wie all diese Funktionen von „tr“ den Benutzern zugute kommen können. Ich empfehle immer, alle verfügbaren Optionen und ausführlichen Anleitungen zu jedem Linux-Tool auf ihren Man-, Info- und Hilfeseiten zu überprüfen, da sie mehr wertvolles Wissen bieten können.

tr --help

Mann tr

info tr

Genießen!

Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...