Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Detaillierte Erklärung des tr-Befehls unter Linux

Detaillierte Erklärung des tr-Befehls unter Linux

齐天大圣
齐天大圣Original
2020-11-05 16:48:152956Durchsuche

Heute möchte ich Ihnen einen sehr häufig verwendeten Befehl vorstellen – tr. Mit diesem Befehl können Sie Zeichenfolgen ersetzen, bestimmte Zeichen löschen und mehrere wiederholte Zeichen zu nur einem komprimieren. Darüber hinaus unterstützt dieser Befehl Pipes. Anhand der obigen Funktionseinführung sollten Sie erkennen können, dass dieser Befehl sehr leistungsfähig ist.

Das Folgende ist eine Einführung in diesen Befehl:

tr [选项] 参数

Häufig verwendete Optionen sind wie folgt:

  • -c gefolgt von einem Zeichenbereich, der andere Zeichen als diese Zeichen angibt

  • -d löscht das angegebene Zeichen

  • - s komprimiert die wiederholten Zeichen auf nur eins

Lassen Sie uns lernen, wie man diesen Befehl in mehreren Fällen verwendet

String-Ersetzung

Dies ist die grundlegendste Funktion. Wenn keine Optionen hinzugefügt werden, bedeutet dies eine Zeichenfolge Das Befehlsformat lautet:

tr 原字符串 需替换成的字符串

Hier verwenden wir auch oft das - Symbol, was kontinuierlich bedeutet. Schauen wir uns den Fall an:

# 字符串替换,将小写字母替换为大写字母
# echo hello,world | tr [a-z] [A-Z]
HELLO,WORLD

Zeichen löschen

Verwenden Sie die Option -d, um die angegebenen Zeichen zu löschen, und verwenden Sie die Option -d -c, um die angegebenen Zeichen beizubehalten. Werfen wir einen Blick auf den Fall

# 删除指定字符ae
# echo 'There are apples' | tr -d 'ae'
Thr r ppls

# 删除指定字符,只保留数字和字母及换行符,其他的字符全部删除
# echo 'sSwd,aw23e;sw aswe' | tr -d -c 'a-zA-Z0-9\n'
sSwdaw23eswaswe

Zeichen komprimieren

Diese Funktion wird sehr häufig verwendet. Sie kann aufeinanderfolgende wiederholte Zeichen zu nur einem komprimieren. Wir verwenden es häufig, um aufeinanderfolgende Leerzeichen zu entfernen und nur ein Leerzeichen zu belassen, und um aufeinanderfolgende Zeilenumbrüche zu entfernen und nur eine neue Zeile zu belassen. Um die Funktion zum Komprimieren von Zeichen abzuschließen, müssen Sie die Option -s verwenden.

# 删除连续的空格只留下一个(我们也经常删除连续的换行符只留一个)
# echo -e "hello    world.\n\n\n" | tr -s ' \n'
hello world.

Die obigen Beispiele sind relativ einfach und Sie können die Leistungsfähigkeit dieses Befehls möglicherweise nicht erkennen. Schauen wir uns einige etwas komplexere Fälle an.

Wir wissen, dass der Schnitt bei der Verarbeitung aufeinanderfolgender Leerzeichen nicht sehr gut ist. Wenn Sie mit „cut“ die zweite Spalte des vom Befehl „df“ angezeigten Ergebnisses auswählen möchten, ist dies nicht möglich. Wenn Sie zu diesem Zeitpunkt zunächst den Befehl tr verwenden, um mehrere aufeinanderfolgende Leerzeichen zu einem zu komprimieren, kann der Befehl cut Ihre Anforderungen erfüllen.

# df -h | tr -s ' \t' | cut -d ' ' -f 2
Size
40G
487M
497M
497M
497M
100M

Sie können sehen, dass durch die Verarbeitung von tr, cut nun die zweite Informationsspalte erhalten werden kann.

tr Dieser Befehl ist sehr leistungsstark und sehr einfach zu verwenden. Ich hoffe, dass jeder ihn beherrschen und anwenden kann.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des tr-Befehls unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn