(filter for folding lines)
fold zerlegt die Zeilen der Textdateien oder der Standard-Eingabe so, dass sie nicht länger sind als die voreingestellte oder angegebene Zeilenlänge. Standardmäßig sind 80 Zeichen pro Zeile vorgegeben.
Die Zeilen werden durch Einfügen eines Neue-Zeile-Zeichens zerlegt, so dass jede Zeile der Ausgabe (weiter unten auch als „Segment“ bezeichnet) nicht länger ist als die voreingestellte oder angegebene Zeilenlänge (bzw. nicht länger als die maximale Anzahl der Bytes). Zeilen werden jedoch nicht mitten in Zeichen zerlegt. Das Verhalten ist nicht vorhersehbar, wenn anzahl kleiner ist als die Anzahl der Spalten, die ein einzelnes Zeichen in der Eingabe einnehmen würde.
Wird in der Eingabe das Wagenrücklaufzeichen (Carriage Return), das Rücksetz-Zeichen (Backspace) oder das Tabulatorzeichen (Tab) gelesen, und die Option -b ist nicht gesetzt, so gilt für diese Zeichen:
Rücksetz-Zeichen
Die aktuelle Zeilenlänge wird um Eins verringert, wird aber nie negativ. fold fügt kein Neue-Zeile-Zeichen unmittelbar vor oder nach einem Rücksetz-Zeichen ein.
Wagenrücklaufzeichen
Die aktuelle Zeilenlänge wird auf Null gesetzt. fold fügt kein Neue-Zeile-Zeichen unmittelbar vor oder nach einem Wagenrücklaufzeichen ein.
Tabulatorzeichen
Jedes gelesene Tabulatorzeichen setzt den Spaltenpositionszeiger auf die nächste Tabulatorstop-Position. Tabulatorstop-Positionen befinden sich an jeder Spaltenposition n, wobei gilt: n modulo 8 gleich 1.
Achtung!
Enthalten die Eingabezeilen Unterstreichungen, so kann dies zu fehlerhaftem Verhalten von fold führen.
Syntax
fold[ -bs][ -w anzahl][ datei...] |
Keine Option angegeben Die eingelesenen Zeilen zerlegt fold in Zeilen mit maximal 80 Zeichen (Voreinstellung).
(b - bytes) Die Zeilenlänge wird in Byte, nicht in Spaltenpositionen, gezählt.
(s - segment) Enthält ein Segment einer Zeile ein Leerzeichen innerhalb der ersten anzahl Spaltenpositionen (oder Bytes), so wird die Zeile nach dem letzten Leerzeichen, das noch der Bedingung anzahl entspricht, zerlegt. Liegt kein Leerzeichen vor, das diese Anforderung erfüllt, so bleibt die Option -s für dieses Ausgabesegment der Eingabezeile ohne Wirkung.
(w - width) Die maximale Zeilenlänge soll anzahl Zeichen betragen. anzahl muss als positive Dezimalzahl angegeben werden. Falls Tabulatoren in den Eingabezeilen vorkommen, sollte anzahl ein Vielfaches von 8 sein.
Name der Textdatei, die von fold bearbeitet werden soll. Sie können mehrere Dateien angeben. Die angegebenen Optionen gelten dann für alle Dateien. datei nicht angegeben: |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos fold: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) und bestimmt die Breite von Spaltenpositionen, die jedes Zeichen mit einer konstanten Breite einnimmt. LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel
Sie geben den Inhalt der Datei notiz auf die Standard-Ausgabe aus. Unter Verwendung des Kommandos cat erhalten Sie folgendes Ergebnis:
Verwenden Sie jedoch das Kommand fold, haben Sie die Möglichkeit, die Länge der ausgegebenen Zeilen neu festzusetzen. In folgendem Beispiel werden die Zeilen so zerlegt, dass die Ausgabe eine maximale Breite von 40 Zeichen hat:
|
Siehe auch
pr |