Linux / Befehl fold: Lange Zeilen auf eine feste Breite umbrechen
fold bricht lange Eingabezeilen in mehrere Zeilen mit einer angegebenen Breite um. Im Gegensatz zu fmt, das Absätze natürlich umbricht, konzentriert es sich darauf, die Anzeige der Zeilenbreite zu begrenzen.
Die Standardbreite beträgt 80 Spalten. Bei Verwendung von -s werden Zeilen nach Möglichkeit an Wortgrenzen gebrochen. Ursprüngliche Zeilenumbrüche bleiben erhalten, und nur das Ergebnis wird an die Standardausgabe gesendet.
Grundlegende Syntax
fold [options] [file...]
Installierte Implementierungen und Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung auf Ihrem aktuellen System mit man fold.
Beispiele
Zeilen mit der Standardbreite umbrechen
Lange Zeilen werden bei einer Breite von 80 Spalten umgebrochen.
fold long-lines.txt
Die Breite auf 60 Spalten festlegen
Die Ausgabe wird auf die gewünschte Terminal- oder Dokumentbreite begrenzt.
fold -w 60 long-lines.txt
Möglichst an Wortgrenzen umbrechen
Nach Möglichkeit erfolgt der Umbruch an Leerzeichen, damit Wörter nicht mitten im Wort getrennt werden.
fold -s -w 60 paragraph.txt
Anzeige der nach fester Breite geteilten Ausgabe
fold -w 4 bricht Zeilen bei der angegebenen Breite um. Die folgende Zeichenkette enthält keine Leerzeichen; daher entsteht nach jeweils vier Zeichen eine neue Zeile.
printf 'abcdefghij\n' | fold -w 4
Beispielausgabe:
abcd efgh ij
Mit -s vermeiden Sie nach Möglichkeit Umbrüche innerhalb von Wörtern. fold unterscheidet sich von fmt, das ganze Textabsätze neu formatiert. Bei Tabulatoren, Mehrbyte-Zeichen und breiten Zeichen müssen Sie zwischen Anzeigespalten und Bytes unterscheiden.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-w N |
Legt die maximale Breite der Ausgabezeilen fest. |
-s |
Wenn möglich, Zeilen an Leerzeichen umbrechen. |
-b |
Zählt die Breite basierend auf Bytes statt auf Bildschirmspalten. |
Vorsichtsmaßnahmen bei der Verwendung
-b kann mitten in UTF-8-Zeichen brechen, verwenden Sie es daher nicht leichtfertig bei mehrsprachigem Text. Die tatsächliche Zeichenbreite und die Anzeige von Emojis in einem Terminal können je nach Umgebung variieren. Wenn die ursprünglichen Zeilen der Daten eine Bedeutung haben, ist es sicherer, das gefaltete Ergebnis nicht als neue Eingabedaten zu verwenden.
Häufig gestellte Fragen
Wie unterscheiden sich fold und fmt?
fold begrenzt die Breite einzelner Zeilen. fmt formatiert dagegen gewöhnliche Textabsätze neu und verteilt die Zeilenumbrüche innerhalb des Absatzes.
Offizielle Dokumentation
Das genaue Verhalten der Optionen und Unterschiede zwischen Implementierungen beschreibt die offizielle Dokumentation zu fold.




