This commit is contained in:
2026-10-31 19:09:32 +01:00
parent 5fb4db5069
commit 9df5da50b0
12 changed files with 1236 additions and 1 deletions
+65
View File
@@ -0,0 +1,65 @@
# `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
```bash
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:
```bash
fmt -w 80 notizen.txt > notizen-neu.txt
```
> Nicht direkt mit `fmt notizen.txt > notizen.txt` überschreiben: Die Shell leert die Zieldatei bereits, bevor `fmt` sie 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:
```bash
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.
- `fmt` verbindet 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:
```bash
cat entwurf.txt | fmt -w 72
```
- Einen Absatz für ein Terminal, eine E-Mail oder einen Plain-Text-Editor umbrechen.
## Grenzen und Stolperfallen
- `fmt` versteht 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. `fmt` schreibt das Ergebnis standardmäßig auf die Standardausgabe.
## Siehe auch
- [[IT-Know-How/Linux/BASH Basics/find|find]] – Dateien suchen
- [[IT-Know-How/Linux/Linux|Linux]]