2.4 KiB
fmt – Textabsätze umbrechen
fmt formatiert einfachen Text neu, indem es Zeilen innerhalb eines Absatzes zusammenführt und passend zur gewünschten Breite wieder umbrechen lässt. Es gehört bei GNU/Linux üblicherweise zu GNU coreutils.
fmt ist für Fließtext gedacht, nicht für Programmcode oder Dokumente mit komplexer Formatierung.
Grundlegende Verwendung
fmt notizen.txt # Ausgabe auf stdout, Standardbreite: 75 Zeichen
fmt -w 80 notizen.txt # auf höchstens 80 Zeichen umbrechen
fmt -w 72 # Text aus stdin formatieren
Datei bearbeiten und das Ergebnis in eine neue Datei schreiben:
fmt -w 80 notizen.txt > notizen-neu.txt
Nicht direkt mit
fmt notizen.txt > notizen.txtüberschreiben: Die Shell leert die Zieldatei bereits, bevorfmtsie einliest.
Nützliche Optionen
| Option | Bedeutung |
|---|---|
-w 80 |
Maximale Zeilenbreite festlegen (Standard: 75) |
-s |
Nur zu lange Zeilen umbrechen, kurze Zeilen nicht mit Nachbarzeilen zusammenführen |
-u |
Einheitliche Abstände zwischen Wörtern und Sätzen erzeugen |
-c |
Einrückung der ersten beiden Zeilen eines Absatzes als „crown margin“ behandeln |
Beispiel für eine Mail oder einen Text, dessen vorhandene Zeilenumbrüche weitgehend erhalten bleiben sollen:
fmt -s -w 72 mail.txt
Wie fmt Absätze erkennt
- Ein Absatz besteht grundsätzlich aus zusammenhängenden Textzeilen.
- Leerzeilen trennen Absätze und bleiben erhalten.
fmtverbindet kurze Zeilen innerhalb eines Absatzes und verteilt den Text neu.- Lange Wörter werden normalerweise nicht automatisch getrennt.
Typische Anwendungsfälle
-
Lange oder uneinheitlich umbrochene Textdateien lesbar machen.
-
Text aus einer Pipe auf eine feste Breite bringen:
cat entwurf.txt | fmt -w 72 -
Einen Absatz für ein Terminal, eine E-Mail oder einen Plain-Text-Editor umbrechen.
Grenzen und Stolperfallen
fmtversteht keine Markdown-Struktur: Listen, Tabellen, Überschriften und Codeblöcke können beim Umbruch beschädigt werden.- Für Quellcode ist es ungeeignet; dafür den passenden Formatter der jeweiligen Sprache verwenden.
- Die Eingabedatei wird nicht verändert.
fmtschreibt das Ergebnis standardmäßig auf die Standardausgabe.
Siehe auch
- IT-Know-How/Linux/BASH Basics/find – Dateien suchen
- IT-Know-How/Linux/Linux