update
This commit is contained in:
@@ -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]]
|
||||
Reference in New Issue
Block a user