So verwenden Sie den fold-Befehl unter Linux

Der Linux-Befehl fold bringt widerspenstige Ausgabe auf die Ferse. Lesen Sie breite Textblöcke, endlose Zeichenfolgen und unformatierte Streams, indem Sie die Breite der Ausgabe steuern. Lernen wie.

Wie Textzeilen im Linux-Terminal funktionieren

Erste Regel des Linux-Kampfes: Kenne deinen Feind. Also definieren wir es. Was genau ist eine Textzeile? Es ist eine Folge von Zeichen – Buchstaben, Zahlen, Symbole und Leerzeichen – die durch ein spezielles Byte abgeschlossen wird, das „eine neue Zeile beginnen“ bedeutet. Unter Linux und Unix, das Newline-Zeichen, auch Zeilenvorschub genannt, wird als Zeilenendeindikator verwendet. Dies ist ein Byte mit einem Wert von 0x0a in hexadezimal und zehn dezimal.

Verschiedene Betriebssysteme verwenden unterschiedliche Bytewerte, um das Ende einer Zeile anzuzeigen. Windows verwendet eine Zwei-Byte-Sequenz. In Windows-Textdateien folgt auf das Newline-Zeichen unmittelbar das Wagenrücklaufzeichen, die hexadezimal 0x0d und dezimal dreizehn ist.

Die Begriffe „Linefeed“ und „Carriage Return“ stammen aus der Vergangenheit zur Schreibmaschine. Die Platte, der Zylinder, um den das Papier gewickelt war, war auf einem fahrbaren Wagen montiert. Der Schlitten bewegt sich jedes Mal, wenn Sie eine Taste drücken, um eine Zeichenbreite nach links. Um eine neue Zeile zu beginnen, drückten Sie einen Hebel, der den Schlitten in seine ursprüngliche Position zurückbrachte, die Walze drehte und das Papier um eine Zeile nach oben bewegte. Dieser Vorgang wurde als Wagenrücklauf bezeichnet, und die Drehung des Zylinders (und der Vorschub des Papiers) wurde als Zeilenvorschub bezeichnet.

  So installieren Sie 0 AD unter Linux

Der Hebel wurde durch einen Schlüssel ersetzt, als die Schreibmaschine elektrifiziert wurde. Der Schlüssel war mit Carriage Return oder einfach Return beschriftet. Einige frühe Computer wie das BBC-Mikro immer noch den Namen Return auf dem, was wir heute Enter-Taste nennen.

Newline-Zeichen sind in der Regel nicht zu sehen. Sie können nur ihre Wirkung sehen. Das Newline-Zeichen zwingt Software, die Text anzeigt oder verarbeitet, dazu, eine neue Zeile zu beginnen.

Aber was ist das Problem mit langen Schlangen?

Text, der keine oder nur sehr wenige Zeilenumbrüche enthält, ist zu breit, um bequem im Terminalfenster gelesen zu werden. Das ist ärgerlich, aber machbar.

  So installieren Sie den Lighttpd-Webserver unter Linux

Ein noch gefährlicheres Problem ist der Umgang mit Zeilen mit einer solchen Länge, dass sie ein Problem für die Software darstellen, die den Text verarbeiten, übertragen oder empfangen muss. Dies kann durch interne Pufferlängen oder andere Aspekte der Software verursacht werden, die Sie nicht anpassen können.

Aber dafür gibt es eine Lösung namens fold.

Erste Schritte mit Falten

Schauen wir uns einen Textabschnitt an, der sehr, sehr lange Zeilen enthält. Beachten Sie, dass wir hier nicht über Sätze sprechen. (Obwohl der Text aus Herman Melvilles Moby Dick stammt, haben wir also das Beste aus beiden Welten.)

Eine Textzeile ist alles vom letzten Zeilenumbruchzeichen (oder dem Anfang der Datei, wenn es die erste Zeile in der Datei ist) bis zum nächsten Zeilenumbruchzeichen, unabhängig davon, was dazwischen liegt. Die Zeile kann viele Sätze enthalten. Es kann im Terminalfenster viele Male umlaufen. Aber es ist immer noch eine einzelne Textzeile.

  So installieren Sie ZFS unter Linux

Schauen wir uns den Text in seiner Rohform an:

less moby-dick.txt

Der Text wird in weniger angezeigt:

Der Text erstreckt sich von einem Rand des Fensters zum anderen, und die Zeilenumbrüche sind hässlich und brechen Wörter in der Mitte.

Wir haben eine andere Version der Datei mit kurzen Zeilen:

less short-lines-moby-dick.txt

Die Zeilen in dieser Datei sind viel kürzer. Jede Zeile wird mit einem Newline-Zeichen abgeschlossen.

Wenn wir den Befehl hexdump verwenden, können wir Sehen Sie sich die Byte-Werte in der Datei an und sehen Sie sich die Newline-Zeichen an. Die Option -C (kanonisch) formatiert die Ausgabe, um hexadezimale Werte in der Hauptzeile anzuzeigen