Einführung
Der Befehl tr ist ein leistungsstarkes Textmanipulationswerkzeug in Linux, das es Benutzern ermöglicht, Zeichen aus der Standardeingabe zu übersetzen, zu löschen und zusammenzudrücken. Es ist besonders nützlich für Aufgaben wie die Umwandlung von Groß- und Kleinschreibung, das Entfernen bestimmter Zeichen oder die Standardisierung der Formatierung in Textdateien.
In diesem Lab werden Sie lernen, wie Sie den tr-Befehl für verschiedene Textmanipulationsaufgaben verwenden. Sie werden drei Hauptfunktionen untersuchen: das Übersetzen von Zeichen aus einem Satz in einen anderen, das Löschen unerwünschter Zeichen und das Zusammenpressen wiederholter Zeichen. Diese Fähigkeiten sind für die effiziente Textverarbeitung und Datenbereinigung in Linux-Umgebungen unerlässlich.
Am Ende dieses Labs werden Sie in der Lage sein, den tr-Befehl sicher zu nutzen, um Textdaten gemäß Ihren Anforderungen zu transformieren, wodurch Ihre Textverarbeitungsaufgaben effizienter und präziser werden.
Grundlagen des tr-Befehls verstehen
Der tr-Befehl in Linux wird verwendet, um Zeichen aus der Standardeingabe zu übersetzen, zu löschen oder zusammenzudrücken und das Ergebnis an die Standardausgabe zu schreiben. In diesem Schritt werden Sie die grundlegende Syntax des tr-Befehls lernen und wie Sie ihn verwenden können, um Kleinbuchstaben in Großbuchstaben umzuwandeln.
Die Grundlegende Syntax von tr
Die grundlegende Syntax des tr-Befehls lautet:
tr [OPTION]... SET1 [SET2]
Dabei gilt:
SET1ist der Satz von Zeichen, die übersetzt oder gelöscht werden sollen.SET2ist der Satz von Zeichen, die die Zeichen inSET1ersetzen werden.
Erstellen einer Beispiel-Textdatei
Beginnen wir damit, eine Beispiel-Textdatei zu erstellen, mit der Sie üben können. Öffnen Sie ein Terminal in der LabEx VM und führen Sie den folgenden Befehl aus:
echo 'industrial revolution' > ~/project/sample.txt
Dieser Befehl erstellt eine neue Datei namens sample.txt im Verzeichnis /home/labex/project mit dem Text "industrial revolution".
Umwandeln von Kleinbuchstaben in Großbuchstaben
Nun verwenden wir den tr-Befehl, um alle Kleinbuchstaben in Großbuchstaben umzuwandeln:
tr 'a-z' 'A-Z' < ~/project/sample.txt
Wenn Sie diesen Befehl ausführen, sollten Sie die folgende Ausgabe sehen:
INDUSTRIAL REVOLUTION
Verständnis des Befehls
Lassen Sie uns analysieren, was passiert ist:
tr 'a-z' 'A-Z'weist den Befehl an, jeden Kleinbuchstaben (a-z) durch seinen entsprechenden Großbuchstaben (A-Z) zu ersetzen.- Das
<-Symbol leitet den Inhalt von~/project/sample.txtals Eingabe an dentr-Befehl weiter. - Das Ergebnis wird im Terminal angezeigt, aber nicht in der Datei gespeichert.
Speichern der Ausgabe in einer neuen Datei
Wenn Sie den transformierten Text in einer neuen Datei speichern möchten, können Sie die Ausgabeumleitung verwenden:
tr 'a-z' 'A-Z' < ~/project/sample.txt > ~/project/uppercase_sample.txt
Um den Inhalt der neuen Datei zu überprüfen, verwenden Sie den cat-Befehl:
cat ~/project/uppercase_sample.txt
Sie sollten sehen:
INDUSTRIAL REVOLUTION
Nun haben Sie erfolgreich gelernt, wie Sie die grundlegende Funktionalität des tr-Befehls nutzen können, um Text von Kleinbuchstaben in Großbuchstaben zu transformieren.
Zeichen mit tr löschen
Eine der leistungsstarken Funktionen des tr-Befehls ist seine Fähigkeit, bestimmte Zeichen aus Text zu löschen. Diese Funktionalität ist besonders nützlich, wenn Sie Datenfiles bereinigen oder unerwünschte Zeichen aus Textströmen entfernen möchten.
Die Löschoption in tr
Um Zeichen mit dem tr-Befehl zu löschen, verwenden Sie die Option -d, gefolgt von dem Satz von Zeichen, die Sie entfernen möchten:
tr -d SET1
Dabei ist SET1 der Satz von Zeichen, die Sie löschen möchten.
Erstellen einer Beispiel-Textdatei mit Zahlen
Erstellen wir eine Beispiel-Datei, die Text mit Zahlen enthält, mit der wir üben können:
echo 'Factory 1 Output: 100 units, Factory 2 Output: 150 units' > ~/project/factory_output.txt
Dieser Befehl erstellt eine Datei namens factory_output.txt im Verzeichnis /home/labex/project mit Text, der Zahlen enthält.
Entfernen von Ziffern aus dem Text
Nun verwenden wir den tr-Befehl mit der Option -d, um alle Ziffern aus dem Text zu entfernen:
tr -d '0-9' < ~/project/factory_output.txt
Wenn Sie diesen Befehl ausführen, sollten Sie die folgende Ausgabe sehen:
Factory Output: units, Factory Output: units
Beachten Sie, dass alle Zahlen (1, 2, 100, 150) aus dem Text entfernt wurden.
Verständnis des Befehls
Lassen Sie uns analysieren, was passiert ist:
tr -d '0-9'weist den Befehl an, alle Zeichen im Bereich 0 - 9 (das sind alle Ziffern) zu löschen.- Das
<-Symbol leitet den Inhalt von~/project/factory_output.txtals Eingabe an dentr-Befehl weiter. - Das Ergebnis wird im Terminal angezeigt, aber nicht in der Datei gespeichert.
Speichern der Ausgabe in einer neuen Datei
Wenn Sie die Ausgabe ohne Ziffern in einer neuen Datei speichern möchten, können Sie die Ausgabeumleitung verwenden:
tr -d '0-9' < ~/project/factory_output.txt > ~/project/no_digits_output.txt
Um den Inhalt der neuen Datei zu überprüfen, verwenden Sie den cat-Befehl:
cat ~/project/no_digits_output.txt
Sie sollten sehen:
Factory Output: units, Factory Output: units
Löschen mehrerer Zeichensätze
Sie können auch mehrere Zeichentypen in einem einzigen Befehl löschen. Beispielsweise löschen wir sowohl Ziffern als auch Satzzeichen:
tr -d '0-9:,;' < ~/project/factory_output.txt
Dies wird alle Ziffern (0 - 9) sowie Doppelpunkte, Kommas und Semikolons aus dem Text entfernen.
Jetzt wissen Sie, wie Sie den tr-Befehl verwenden können, um bestimmte Zeichen aus Text zu löschen, was eine wertvolle Fähigkeit für die Datenbereinigung und Textverarbeitung in Linux ist.
Zeichen mit tr zusammenpressen
Eine weitere nützliche Funktion des tr-Befehls ist seine Fähigkeit, wiederholte Zeichen zu "zusammenfassen", indem aufeinanderfolgende Vorkommen desselben Zeichens durch ein einzelnes Exemplar ersetzt werden. Diese Funktionalität ist besonders wertvoll, wenn es um Text geht, der übermäßige Leerzeichen oder andere wiederholte Zeichen enthält.
Die Zusammenfassungsoption in tr
Um wiederholte Zeichen mit dem tr-Befehl zusammenzufassen, verwenden Sie die Option -s, gefolgt von dem Satz von Zeichen, die Sie zusammenfassen möchten:
tr -s SET1
Dabei ist SET1 der Satz von Zeichen, die Sie zusammenfassen möchten.
Erstellen einer Beispiel-Textdatei mit übermäßigen Leerzeichen
Erstellen wir eine Beispiel-Datei mit übermäßigen Leerzeichen, mit der wir üben können:
echo 'Error: Too much whitespace.' > ~/project/whitespace.txt
Dieser Befehl erstellt eine Datei namens whitespace.txt im Verzeichnis /home/labex/project mit Text, der mehrere aufeinanderfolgende Leerzeichen enthält.
Zusammenfassen von Leerzeichen im Text
Nun verwenden wir den tr-Befehl mit der Option -s, um mehrere Leerzeichen zu einzelnen Leerzeichen zusammenzufassen:
tr -s ' ' < ~/project/whitespace.txt
Wenn Sie diesen Befehl ausführen, sollten Sie die folgende Ausgabe sehen:
Error: Too much whitespace.
Beachten Sie, dass die mehreren Leerzeichen zwischen den Wörtern auf einzelne Leerzeichen reduziert wurden, wodurch der Text lesbarer wird.
Verständnis des Befehls
Lassen Sie uns analysieren, was passiert ist:
tr -s ' 'weist den Befehl an, wiederholte Vorkommen eines Leerzeichens zu einem einzelnen Leerzeichen zusammenzufassen.- Das
<-Symbol leitet den Inhalt von~/project/whitespace.txtals Eingabe an dentr-Befehl weiter. - Das Ergebnis wird im Terminal angezeigt, aber nicht in der Datei gespeichert.
Speichern der Ausgabe in einer neuen Datei
Wenn Sie den Text mit zusammengefassten Leerzeichen in einer neuen Datei speichern möchten, können Sie die Ausgabeumleitung verwenden:
tr -s ' ' < ~/project/whitespace.txt > ~/project/clean_whitespace.txt
Um den Inhalt der neuen Datei zu überprüfen, verwenden Sie den cat-Befehl:
cat ~/project/clean_whitespace.txt
Sie sollten sehen:
Error: Too much whitespace.
Kombinieren von tr-Operationen
Der tr-Befehl ermöglicht es Ihnen, Operationen zu kombinieren. Beispielsweise können Sie in einem einzigen Befehl sowohl Zeichen übersetzen als auch zusammenfassen:
tr 'a-z' 'A-Z' -s ' ' < ~/project/whitespace.txt
Dieser Befehl wird alle Kleinbuchstaben in Großbuchstaben umwandeln und auch mehrere Leerzeichen zu einzelnen Leerzeichen zusammenfassen.
Erstellen eines komplexeren Beispiels
Erstellen wir ein komplexeres Beispiel, mit dem Sie üben können:
echo 'log entry: error code 404 not found' > ~/project/complex.txt
Nun verwenden wir tr, um alle Buchstaben in Großbuchstaben umzuwandeln und Leerzeichen zusammenzufassen:
tr 'a-z' 'A-Z' -s ' ' < ~/project/complex.txt > ~/project/processed_complex.txt
Um das Ergebnis zu sehen:
cat ~/project/processed_complex.txt
Sie sollten sehen:
LOG ENTRY: ERROR CODE 404 NOT FOUND
Jetzt haben Sie gelernt, wie Sie den tr-Befehl verwenden können, um wiederholte Zeichen in Text zusammenzufassen. Zusammen mit den Übersetzungs- und Löschfunktionen, die Sie zuvor gelernt haben, erhalten Sie damit ein leistungsstarkes Werkzeug zur Textmanipulation in Linux.
Kombinieren von tr - Operationen für fortgeschrittene Texttransformationen
In diesem Schritt lernen Sie, wie Sie mehrere tr-Operationen kombinieren können, um fortgeschrittene Texttransformationen durchzuführen. Die Fähigkeit, verschiedene Operationen zu verketten, macht tr zu einem vielseitigen Werkzeug für komplexe Textverarbeitungstasks.
Erstellen einer Beispiel-Daten-Datei
Erstellen wir eine Beispiel-Daten-Datei, die eine Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthält:
echo 'User123: John_Doe@example.com - Last Login: 2023-10-15' > ~/project/user_data.txt
Dieser Befehl erstellt eine neue Datei namens user_data.txt im Verzeichnis /home/labex/project mit einem Beispiel-Benutzerdatensatz.
Mehrere Operationen mit Pipes
Eine Möglichkeit, mehrere Transformationen durchzuführen, ist die Verwendung von Pipes, um tr-Befehle zu verketten:
cat ~/project/user_data.txt | tr 'A-Z' 'a-z' | tr -d '0-9' | tr -s ' '
Dieser Befehl wird:
- Alle Großbuchstaben in Kleinbuchstaben umwandeln
- Alle Ziffern löschen
- Aufeinanderfolgende Leerzeichen zu einem einzelnen Leerzeichen zusammenfassen
Die Ausgabe sollte wie folgt aussehen:
user: john_doe@example.com - last login: --
Verwenden von tr mit erweiterten Zeichensätzen
Der tr-Befehl unterstützt bestimmte spezielle Zeichensätze, die Ihre Transformationen kompakter gestalten können. Einige häufige Zeichensätze sind:
[:alnum:]- Alle Buchstaben und Ziffern[:alpha:]- Alle Buchstaben[:digit:]- Alle Ziffern[:lower:]- Alle Kleinbuchstaben[:upper:]- Alle Großbuchstaben[:space:]- Alle Leerzeichen
Verwenden wir diese Zeichensätze, um unsere Benutzerdaten zu transformieren:
tr '[:upper:]' '[:lower:]' < ~/project/user_data.txt > ~/project/lowercase_user_data.txt
Dieser Befehl wandelt alle Großbuchstaben in Kleinbuchstaben um und speichert das Ergebnis in einer neuen Datei.
Um den Inhalt der neuen Datei zu überprüfen:
cat ~/project/lowercase_user_data.txt
Sie sollten sehen:
user123: john_doe@example.com - last login: 2023-10-15
Erstellen eines umfassenden Beispiels
Erstellen wir eine komplexere Datei, mit der Sie üben können:
echo ' LOG ENTRY: Error-404 Page Not Found (HTTP) ' > ~/project/log_entry.txt
Nun führen wir mehrere Transformationen auf einmal durch:
cat ~/project/log_entry.txt | tr '[:upper:]' '[:lower:]' | tr -d '-()' | tr -s ' ' > ~/project/transformed_log.txt
Dieser Befehl wird:
- Alle Großbuchstaben in Kleinbuchstaben umwandeln
- Bindestriche, Klammern und Klammern löschen
- Aufeinanderfolgende Leerzeichen zu einem einzelnen Leerzeichen zusammenfassen
Um das Ergebnis zu sehen:
cat ~/project/transformed_log.txt
Sie sollten sehen:
log entry: error404 page not found http
Beachten Sie, dass es immer noch führende und abschließende Leerzeichen gibt. Um diese zu entfernen, bräuchten wir zusätzliche Tools wie sed oder awk, die außerhalb des Rahmens dieses Labs liegen.
Jetzt wissen Sie, wie Sie mehrere tr-Operationen kombinieren können, um komplexe Texttransformationen durchzuführen, wodurch Ihre Textverarbeitungstasks effizienter und effektiver werden.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie den tr-Befehl verwenden, ein vielseitiges Werkzeug zur Textmanipulation in Linux. Sie haben seine drei Hauptfunktionen untersucht:
Zeichenübersetzung: Sie haben gelernt, wie Sie Zeichen von einem Satz in einen anderen übersetzen können, beispielsweise Kleinbuchstaben in Großbuchstaben umwandeln. Diese Funktion ist nützlich für die Standardisierung von Textformaten und die Normalisierung von Daten.
Zeichenlöschung: Sie haben entdeckt, wie Sie bestimmte Zeichen aus Text mithilfe der Option
-dentfernen können. Diese Fähigkeit ist besonders wertvoll für die Bereinigung von Daten durch das Entfernen unerwünschter Zeichen.Zeichenzusammenfassung: Sie haben untersucht, wie Sie wiederholte Zeichen mithilfe der Option
-szu einzelnen Exemplaren zusammenfassen können. Diese Funktion ist besonders hilfreich bei der Verarbeitung von Text, der übermäßige Leerzeichen enthält.Kombinieren von Operationen: Sie haben gelernt, wie Sie mehrere
tr-Operationen kombinieren können, um komplexe Texttransformationen effizient durchzuführen.
Diese Fähigkeiten bilden eine solide Grundlage für die Textverarbeitung in Linux-Umgebungen. Der tr-Befehl ist ein leistungsstarkes Werkzeug, das, wenn es mit anderen Linux-Befehlen wie grep, sed und awk kombiniert wird, eine anspruchsvolle Textmanipulation für verschiedene Datenverarbeitungstasks ermöglicht.
Durch das Beherrschen des tr-Befehls haben Sie ein essentielles Werkzeug zu Ihrem Linux-Werkzeugkasten hinzugefügt, das Ihnen helfen wird, Textdaten effizienter und präziser in Ihren zukünftigen Projekten zu verarbeiten.



