Linux / Befehl fmt: Textabsätze neu umbrechen

fmt gibt allgemeine Textabsätze in einem umbrochenen, leicht lesbaren Format aus. Es kann verwendet werden, um Notizen oder Entwürfe aufzuräumen, bei denen Zeilenumbrüche inkonsistent sind.

Da fmt die Zeilenumbrüche innerhalb von Textabsätzen neu verteilt, eignet es sich nicht für Quellcode, CSV, Markdown-Tabellen oder Protokolle, die sinnvolle Zeilengrenzen haben. Die Originaldatei bleibt standardmäßig unverändert; der formatierte Text erscheint auf der Standardausgabe.

Grundlegende Syntax

fmt [options] [file...]

Installierte Implementierungen und Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung auf Ihrem aktuellen System mit man fmt.

Beispiele

Grundlegende Absatzformatierung

Ordnet die Zeilen der Eingabeabsätze zu einer normalen Lesebreite an.

fmt notes.txt

Zeilenbreite festlegen

Bricht Absätze erneut um, mit einer Zielbreite von etwa 60 Spalten.

fmt -w 60 draft.txt

Ausgabe separat speichern

Behält das Original bei und speichert das Ergebnis in einer neuen Datei.

fmt -w 72 draft.txt > draft-formatted.txt

Den neuen Zeilenumbruch nachvollziehen

fmt schneidet nicht einfach an einer bestimmten Breite, sondern verteilt die Wörter eines Absatzes auf neue Zeilen, ohne ihre Reihenfolge zu ändern. Das folgende Beispiel wandelt eine lange einzelne Zeile in mehrere Zeilen von etwa 20 Zeichen Breite um.

printf 'one two three four five six\n' | fmt -w 20

Beispielausgabe (Wortanordnung kann je nach Implementierung und Optionen variieren):

one two three four
five six

fmt trennt Wörter nicht absichtlich mitten im Wort. Für eine feste Umbruchbreite verwenden Sie fold. Das Aufteilen in mehrere Dateien mit split ist ein anderer Vorgang. Prüfen Sie bei Code, Tabellen und eingerücktem Text vorab das Ergebnis, da dort die Anordnung der Leerzeichen wichtig ist.

Hauptoptionen und Format

Optionen/Format Beschreibung
-w N Stellen Sie die gewünschte Zeilenbreite auf N Spalten ein.
-s Nur lange Zeilen aufteilen, ohne kurze Zeilen zusammenzuführen.
-u Den Abstand zwischen Wörtern gleichmäßig anpassen.
-p prefix Formatiert nur Zeilen mit dem angegebenen Präfix.

Vorsichtsmaßnahmen bei der Verwendung

fmt versteht die Bedeutung der Formatierung nicht, daher sollten Dokumente mit Listen-Einrückungen, Codeblöcken oder Zitaten überprüft werden. Die Zeichenbreite kann von der auf dem Bildschirm sichtbaren abweichen, daher sollten auch koreanische und Zeichen mit breiter Darstellung überprüft werden.

Häufig gestellte Fragen

Ändert fmt die Originaldatei?

Nein. Standardmäßig wird das Ergebnis auf die Standardausgabe ausgegeben. Speichern Sie es in einer separaten Datei und überprüfen Sie es.

Offizielle Dokumentation

Sie können das genaue Verhalten der Optionen und die Unterschiede zwischen den Implementierungen in der offiziellen fmt-Dokumentation nachlesen.