Heim > System-Tutorial > LINUX > Hauptteil

Ausführliche Erklärung zweier äußerst nützlicher und wichtiger Textmanipulationsbefehle unter Linux

WBOY
Freigeben: 2024-02-14 17:27:03
nach vorne
611 Leute haben es durchsucht

Das Linux-System erleichtert die Textmanipulation und -verarbeitung durch eine große Anzahl von Befehlen. Befehlszeilentools wie tr und fmt können Ihnen dabei helfen, Textdateien vom Terminal aus zu ändern, zu formatieren und zu modifizieren.

详解 Linux 上两个超有用重要的文本操作命令

In diesem Artikel besprechen wir, wie man Text mit den Befehlen tr und fmt in verschiedenen Situationen formatiert. Was sind also tr und fmt? Und wie nutzt man sie?

Was ist der tr-Befehl?

Der Befehl

tr ist die Abkürzung für das Wort „translate“, mit der Benutzer bestimmte Zeichen in Textdateien löschen oder ersetzen können. Es wird normalerweise in Verbindung mit anderen Befehlen verwendet und funktioniert, indem es Standardeingaben entgegennimmt, Operationen daran ausführt und die Ergebnisse in die Standardausgabe schreibt.

tr-Befehlssyntax

Die grundlegende Syntax des

tr-Befehls lautet:

 tr [option]... SET1 [SET2]
Nach dem Login kopieren

Bereich des Zeichensatzes:

  • NNN oktalwertige Zeichen NNN (1 bis 3 sind oktalwertige Zeichen)
  • Backslash
  • ein Strg-G-Klingelton
  • b Strg-H-Rücktaste
  • f Strg-L Gehen, um die Seite zu wechseln
  • n Strg-J Neue Zeile
  • r Strg-M Enter
  • t Strg-I Tabulatortaste
  • v Strg-X horizontale Registerkarte
  • CHAR1-CHAR2: Geben Sie den Zeichenbereich von CHAR1 bis CHAR2 an. Die Angabe des Bereichs basiert auf der Reihenfolge der ASCII-Codes, die nur von klein nach groß sein kann, nicht von groß nach klein.
  • [CHAR*]: Dies ist eine spezielle Einstellung für SET2. Ihre Funktion besteht darin, die angegebenen Zeichen zu wiederholen, bis sie die gleiche Länge wie SET1 haben [CHAR*REPEAT]: Dies ist auch eine spezielle Einstellung für SET2. Die Funktion besteht darin, die angegebenen Zeichen bis zur eingestellten REPEAT-Zeit zu wiederholen (die Anzahl der REPEATs wird im Oktalsystem berechnet, beginnend mit 0)
  • [:alnum:]: Alle alphabetischen Zeichen und Zahlen
  • [:alpha:]: Alle alphabetischen Zeichen
  • [:blank:]: Alle horizontalen Leerzeichen
  • [:cntrl:]: Alle Steuerzeichen
  • [:digit:]: Alle Zahlen
  • [:graph:]: Alle druckbaren Zeichen (ohne Leerzeichen)
  • [:lower:]: Alle Kleinbuchstaben
  • [:print:]: Alle druckbaren Zeichen (einschließlich Leerzeichen)
  • [:punct:]: Alle Satzzeichen
  • [:space:]: Alle horizontalen und vertikalen Leerzeichen
  • [:upper:]: Alle Großbuchstaben
  • [:xdigit:]: Alle Hexadezimalzahlen
  • [=CHAR=]: Alle Zeichen, die mit den angegebenen Zeichen übereinstimmen (CHAR im Gleichheitszeichen stellt die Zeichen dar, die Sie anpassen können)
So verwenden Sie den tr-Befehl

Mit dem Befehl tr können Sie die Groß-/Kleinschreibung einer Textdatei ändern, Zahlen entfernen, Leerzeichen durch Tabulatoren ersetzen und sogar jedes Wort in eine neue Zeile einfügen. Die Möglichkeiten mit dem tr-Befehl sind so groß und Sie können so viel erreichen, wenn Sie wissen, wie man ihn verwendet.

Erstellen Sie für dieses Beispiel eine Textdatei: linuxmi.txt. Der Inhalt der Datei ist:

  • Linuxmi.com. Technology, Simplified! 56789
    
    Nach dem Login kopieren
Verwenden Sie den Befehl tr, um Zeichen zu ersetzen

Geben Sie dazu die Zeichen an, die Sie ersetzen möchten, und durch was Sie sie ersetzen möchten. Wenn Sie beispielsweise das erste Zeichen jedes Wortes durch ABCD ersetzen möchten, führen Sie diesen Befehl aus:

Der Befehl

cat wird verwendet, um den Inhalt einer Datei anzuzeigen.

cat linuxmi.txt |. tr MTS5 ABCD

Der Befehl

cat wird verwendet, um den Inhalt einer Datei anzuzeigen.

Ergebnis:

Linuxmi.com. Bechnology, Cimplified! D6789
Nach dem Login kopieren

详解 Linux 上两个超有用重要的文本操作命令Ändern Sie den Text von Kleinbuchstaben in Großbuchstaben

Führen Sie dazu den folgenden Befehl aus:

cat linuxmi.txt |. tr a-z A-Z

cat linuxmi.txt |. tr [:lower:] [:upper:]
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr a-z A-Z
Nach dem Login kopieren

Das Ergebnis ist

LINUXMI.COM. TECHNOLOGY, SIMPLIFIED! 56789
Nach dem Login kopieren

Ändern Sie 详解 Linux 上两个超有用重要的文本操作命令Text von Groß- in Kleinbuchstaben

Führen Sie dazu einen der folgenden Befehle aus:

cat linuxmi.txt |. tr A-Z a-z

cat linuxmi.txt |. tr [:upper:] [:lower:]
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr A-Z a-z
Nach dem Login kopieren

Das Ergebnis ist

linuxmi.com. technology, simplified! 56789
Nach dem Login kopieren

Ersetzen Sie Leerzeichen durch Tabulatoren

Um alle Leerzeichen durch Tabulatoren zu ersetzen, führen Sie den folgenden Befehl aus:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr [:space:] '\t'
Nach dem Login kopieren

Alternativ, wenn Sie Leerzeichen durch Zeilenumbrüche ersetzen möchten, um jedes Wort in einer separaten Zeile zu drucken, ersetzen Sie „t“ durch „n“. 详解 Linux 上两个超有用重要的文本操作命令

Verwenden Sie den Befehl tr, um Zeichen zu löschen

Um Zeichen zu entfernen, können Sie die Option -d neben dem Befehl tr verwenden. Wenn Sie beispielsweise den Buchstaben „e“ aus jedem Wort in der Datei linuxmi.txt entfernen möchten, führen Sie den folgenden Befehl aus:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr -d 'e'
Nach dem Login kopieren

Das Ergebnis ist

Linuxmi.com. Tchnology, Simplifid! 56789
Nach dem Login kopieren
详解 Linux 上两个超有用重要的文本操作命令

删除所有标点符号

如果你想删除文件中的所有标点符号而不指定是什么符号,使用 -d 选项和解释的序列 [:punct:]:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:punct:]
结果为
Nach dem Login kopieren
Linuxmicom Technology Simplified 56789
Nach dem Login kopieren
详解 Linux 上两个超有用重要的文本操作命令

使用tr删除所有数字

删除文本文件中的所有数字,使用这个命令:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:digit:]
结果为
Nach dem Login kopieren
Linuxmi.com. Technology, Simplified!
Nach dem Login kopieren
详解 Linux 上两个超有用重要的文本操作命令

使用 tr 补码选项

tr 命令附带 -c 选项,基本上执行与原始操作相反的操作。让我们以前面的命令为例。如果您将补码选项添加到此命令,它将删除所有非数字字符。看看:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -cd [:digit:]
结果为
Nach dem Login kopieren
56789
Nach dem Login kopieren
详解 Linux 上两个超有用重要的文本操作命令

什么是 fmt 命令?

fmt 命令是一个简单的文本格式化工具,您可以使用它在 Linux 上打印和处理文本。您还可以使用该命令格式化电子邮件回复。

要获得关于 fmt 命令的命令行帮助,运行以下命令查看其手册页面:

man fmt
Nach dem Login kopieren
详解 Linux 上两个超有用重要的文本操作命令

fmt命令格式

fmt命令的基本语法是:

fmt [-WIDTH] [OPTION] [FILE]
Nach dem Login kopieren

如何使用 fmt 命令

对于本例,创建一个名为file.txt的文件,并添加以下文本:

Linux fan www.linuxmi.com shares open source news, tutorials on Linux, programming, big data, operations, and databases. I was a 

big brother back then, the webmaster of Linux fanatics, and a Linux enthusiast using the desktop version. I write in my spare 

time and hope to share some useful tips with Linux beginners and enthusiasts.


使用默认 fmt 命令
Nach dem Login kopieren

默认的 fmt 命令优化了文本,并以更可读的格式打印出来。fmt 命令的默认宽度是 75 列。执行这个命令来尝试默认的 fmt 操作:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt linuxmi.txt
Nach dem Login kopieren

结果为

详解 Linux 上两个超有用重要的文本操作命令

更改文本的宽度

要更改文件的宽度,可以使用-w选项。语法如下所示:

fmt -w N filename

修改文件宽度为20列,使用命令:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -w 50 linuxmi.txt
Nach dem Login kopieren

结果如下图

详解 Linux 上两个超有用重要的文本操作命令

拆分长行文本

要分割长行,请使用 -s 选项试一下:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -s linuxmi.txt
Nach dem Login kopieren

结果如下图为

详解 Linux 上两个超有用重要的文本操作命令

缩进每个段落的第一行

要通过缩进突出显示每个段落的第一行,请使用-t选项。这是语法:

fmt -t filename.

让我们试一试:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -t linuxmi.txt
Nach dem Login kopieren

结果为

详解 Linux 上两个超有用重要的文本操作命令

tr和fmt:有用的文本操作命令

tr 和 fmt 使用它们提供的不同操作使文本格式化和处理变得简单和自动化。Linux 和其他基于 Unix 的操作系统为您的每一个文本格式化需求提供了大量的文本操作命令。你只需要知道它们是什么以及如何使用它们。


Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zweier äußerst nützlicher und wichtiger Textmanipulationsbefehle unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!