So verwenden Sie den Linux-Befehl tr

So verwenden Sie den Linux-Befehl tr

01. Befehlsübersicht

Der Befehl tr kann Zeichen aus der Standardeingabe ersetzen, komprimieren und löschen. Es kann einen Zeichensatz in einen anderen Zeichensatz umwandeln. Es wird häufig verwendet, um schöne einzeilige Befehle zu schreiben und ist sehr leistungsstark.

Der vollständige englische Name von tr ist „transform“, was Transformation bedeutet. tr kann Daten nur von der Standardeingabe lesen, daher leitet tr die Eingabedatei entweder zur Standardeingabe um oder liest Daten aus einer Pipe.

Hinweis: tr ähnelt dem Befehl sed, ist jedoch einfacher als sed, sodass sed dieselben Funktionen wie tr ausführen kann.

02. Befehlsformat

用法:tr [選項]... SET1 [SET2]

03. Gemeinsame Optionen

Ersetzt, reduziert und/oder löscht Zeichen aus der Standardeingabe und schreibt die Ergebnisse in die Standardausgabe.

-c, -C, --complement erstes Komplement SET1
-d, --delete Löscht den Inhalt, der mit SET1 übereinstimmt, ohne ihn zu ersetzen
-s, --squeeze-repeats Wenn Zeichen, die mit SET1 übereinstimmen, in der Eingabesequenz nacheinander vorhanden sind
Wiederholt, wird beim Ersetzen einheitlich auf eine Zeichenlänge gekürzt
-t, --truncate-set1 kürzt zuerst SET1 auf die gleiche Länge wie SET2
--help Diese Hilfemeldung anzeigen und beenden
--version zeigt Versionsinformationen und beendet das Programm

SET ist eine Menge von Zeichenfolgen, die grundsätzlich wörtlich verstanden werden können. Die Analysereihenfolge ist wie folgt:

\NNN Zeichen mit Oktalwert NNN (1 bis 3 Ziffern)
\\ Backslash
\a Das Terminal piept
\b Rücktaste
\f Seitenumbruch
\n Zeilenumbruch
\r Eingeben
\t Horizontales Tabulatorzeichen
\v vertikales Tabulatorzeichen
Zeichen 1 - Zeichen 2 Alle Zeichen in aufsteigender Reihenfolge von Zeichen 1 bis Zeichen 2
[Character*] Gilt für SET2. Das angegebene Zeichen wird so lange kopiert, bis es der Länge von Einstellung 1 entspricht.
[Zeichen*Zahl] Kopiert das Zeichen eine bestimmte Anzahl Mal. Wenn die Zahl mit 0 beginnt, wird sie als Oktalzahl behandelt.
[:alnum:] alle Buchstaben und Zahlen
[:alpha:] alle Buchstaben
[:blank:] Alle horizontalen Leerzeichen
[:cntrl:] Alle Steuerzeichen
[:digit:] alle Ziffern
[:graph:] Alle druckbaren Zeichen, außer Leerzeichen
[:lower:] alles Kleinbuchstaben
[:print:] alle druckbaren Zeichen, einschließlich Leerzeichen
[:punct:] alle Satzzeichen
[:space:] Alle horizontalen oder vertikalen Leerzeichen
[:upper:] alles Großbuchstaben
[:xdigit:] Alle hexadezimalen Ziffern
[=Character=] Alle Zeichen, die dem angegebenen Zeichen entsprechen

Der Ersatz erfolgt nur, wenn sowohl SET1 als auch SET2 angegeben sind und die Option -d fehlt.
Die Option -t ist nur beim Ersetzen möglich. Bei Bedarf wird SET2 durch Hinzufügen des ursprünglichen letzten Zeichens am Ende auf die gleiche Länge wie SET1 aufgefüllt. Zusätzliche Zeichen in SET2 werden weggelassen. Nur [:lower:] und [:upper:]
Erweitert Zeichen in aufsteigender Reihenfolge; paarweise in SET2 zum Ersetzen, stellt die Groß-/Kleinschreibung dar. -s Auf SET1 einwirken, weder ersetzen noch löschen, andernfalls SET2 zum Reduzieren nach dem Ersetzen oder Erweitern verwenden.

Zeichenbereich

Bei der Angabe des Inhalts von string1 bzw. string2 können Sie nur einzelne Zeichen oder Zeichenfolgenbereiche bzw. -listen verwenden.

[az] Eine Zeichenfolge bestehend aus den Zeichen in az.

[AZ] Eine Zeichenfolge bestehend aus den Zeichen in AZ.
[0-9] Ziffernfolge.

\octal Eine dreistellige Oktalzahl, die einem gültigen ASCII-Zeichen entspricht.
[O*n] bedeutet, dass das Zeichen O eine bestimmte Anzahl n-mal wiederholt wird. Daher entspricht [O*2] der Zeichenfolge OO.

Verschiedene Möglichkeiten, bestimmte Steuerzeichen in tr auszudrücken Kurzform Bedeutung Oktalmodus

\ein Strg-G-Klingelton\007
\b Strg-H Rücktaste\010

\f Strg-L Zeilenvorschub\014
\n Strg-J Neue Zeile\012

\r Strg-M Eingabetaste\015
\t Strg-I Tabulatortaste\011

\v Strg-X \030

04. Referenzbeispiele

4.1 Eingabezeichen von Großbuchstaben in Kleinbuchstaben umwandeln

[deng@localhost ~]$ echo "HALLO ITCAST" | tr 'AZ' 'az'
hallo itcast
[deng@localhost ~]$ 

„AZ“ und „a-z“ sind beides Mengen. Mengen können angepasst werden. Beispielsweise sind „ABD-}“, „bB.,“, „a-de-h“ und „a-c0-9“ alles Mengen. Sie können „\n“, „\t“ und andere ASCII-Zeichen in der Menge verwenden.

4.2 Löschen Sie die angezeigten Zahlen

[deng@localhost ~]$ echo "hallo 1234 itcast 7890" | tr -d '0-9'
hallo itcast 
[deng@localhost ~]$ 

4.3 Entfernen Sie alle Zeichen aus dem Eingabetext, die nicht im Komplementsatz enthalten sind

[deng@localhost test]$ echo aabbcc..#dd2 */dk4 | tr -d -c '0-9 \n'
vierundzwanzig
[deng@localhost test]$

Das Komplement enthält die Zahlen 0-9, Leerzeichen und Zeilenumbruchzeichen \n, daher werden diese nicht gelöscht, alle anderen Zeichen werden jedoch gelöscht.

4.4 Wiederholte Zeichen als einzelnes Zeichen darstellen

[deng@localhost test]$ echo "halloooooooooo ist heimamaaaaaaaaaaa" | tr -s 'oa'
hallo ist heimama
[deng@localhost test]$

4.5 Verwenden der Ersetzungsoperation zum Ausführen der +-Operation

[deng@localhost-Test]$ echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
45
[deng@localhost test]$

4.6 Entfernen Sie durch Windows-Dateien verursachte '^M'-Zeichen

[deng@localhost test]$ cat txt | tr -s '\r' '\n' > Datei
[deng@localhost test]$

oder

[deng@localhost test]$ cat txt | tr -d '\r' > Datei

4.7 Kleinbuchstaben in Großbuchstaben umwandeln

[deng@localhost test]$ echo "hallo itcast" | tr '[:lower:]' '[:upper:]'
HALLO ITCAST
[deng@localhost test]$ 

4.8 Zeilenumbrüche durch Tabulatoren ersetzen

[deng@localhost test]$ cat txt | tr '\n' '\t'
 1111 1111 2222 2222 5555 [deng@localhost test]$ 
[deng@localhost test]$

Dies ist das Ende dieses Artikels zur Verwendung des Linux-Befehls tr. Weitere Informationen zum Linux-Befehl tr finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Linux-Befehle sort, uniq, tr tools
  • Detaillierte Erklärung zur Verwendung des Linux-Befehls Traceroute
  • Der Unterschied und die Verwendung von Strg+z, Strg+c und Strg+d in Linux-Befehlen
  • Trash-Cli: Befehlszeilen-Papierkorb-Tool unter Linux
  • Detaillierte Erklärung des strace-Befehls zum Debuggen von Linux-Anwendungen
  • Detaillierte Erklärung zur Verwendung des Tree-Befehls unter Linux
  • Detaillierte Erklärung des Linux-Shell-Befehls tr
  • Detaillierte Erklärung des Strings-Befehls in Linux
  • Ein Shell-Befehl pro Tag Linux-Textoperationsreihe - ausführliche Erklärung des Tree-Befehls
  • Verwendung des Linux-Befehls tr

<<:  Eine kurze Erläuterung der Rolle und Funktionsweise von Schlüsseln in Vue3

>>:  MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

Artikel empfehlen

Docker-Volumes-Dateizuordnungsmethode

Hintergrund Wenn Sie am Blockchain-Protokollmodul...

Ausführliche Erläuterung der HTML-Grundlagen (Teil 1)

1. Das WEB verstehen Webseiten bestehen hauptsäch...

Detaillierte Erklärung asynchroner Iteratoren in nodejs

Inhaltsverzeichnis Vorwort Was sind asynchrone It...

Beispiel zum Einbetten von H5 in die Webansicht des WeChat-Applets

Vorwort WeChat-Miniprogramme bieten neue offene F...

HTML-Tutorial: Horizontales Liniensegment in HTML

<br />Dieses Tag kann eine horizontale Linie...

So richten Sie Windows Server 2019 ein (mit Bildern und Text)

1. Installation von Windows Server 2019 Installie...

XHTML-Einführungstutorial: Verwendung von Listen-Tags

Listen werden verwendet, um eine Reihe ähnlicher o...

Freigabe der Schritte zum SVN-Dienstsicherungsvorgang

Schritte zur Sicherung des SVN-Dienstes 1. Quells...

Detaillierte Erklärung zum Einrichten eines DNS-Servers unter Linux

1. DNS-Server-Konzept Die Kommunikation im Intern...

JavaScript zum Erzielen eines Skin-Effekts (Ändern des Hintergrunds)

In diesem Artikel wird der spezifische JavaScript...

So bedienen Sie Docker und Images

Spiegel finden Wir können auf der Docker Hub-Webs...