Wie teile ich mehrere Textseiten (80.000 Wörter) auf, die ich in einem Texteditor in 160 Zeichen pro Seite aufteilen muss?

438
Martinelli

A hat mehrere Textseiten (80.000 Wörter), die ich in max. 160 Zeichen pro Seite umwandeln und teilen muss.

Jeder von Ihnen kann mir helfen, dies in BBedit oder Sublime Text (Mac) zu tun?

0
Warum? 160 Zeichen sind nur 3 Textzeilen auf der Seite. psusi vor 9 Jahren 0
Sind alle Zeichen / Wörter in derselben Zeile oder sind sie bereits auf viele Zeilen aufgeteilt? Andres Riofrio vor 9 Jahren 0
Egal, ich habe herausgefunden, wie es funktioniert, auch wenn sie in viele Zeilen aufgeteilt sind. :) Andres Riofrio vor 9 Jahren 0

2 Antworten auf die Frage

1
Andres Riofrio

Die mehrfachen Cursor von Sublime sind wirklich mächtig. Kombiniert mit regulären Ausdrücken können Sie innerhalb des Editors viele coole Dinge erledigen, einschließlich dieser.

  1. Drücken Sie Ctrl+ F, um die Schublade Suchen zu öffnen.
  2. Stellen Sie sicher, dass reguläre Ausdrücke aktiviert sind ( Alt+ Rzum Umschalten).
  3. Typ (.|\n)[ .!?]. Wenn Sie Entermehrmals klicken, wird jede Seite der Reihe nach angezeigt.
  4. Drücken Sie Alt+ Enter, um alle Seiten gleichzeitig auszuwählen.
  5. Klicken Sie Right Arrowauf, um den Cursor am Ende jeder Seite zu platzieren.
  6. Geben Sie ein, was Sie möchten, um Ihre Seiten zu trennen. Drücken Sie beispielsweise Enterzweimal, geben Sie eine lange Zeile "-" ein, und drücken Sie dann Entererneut zweimal.

Warum funktioniert der reguläre Ausdruck?

Der reguläre Ausdruck sucht nach einem beliebigen Zeichen (einschließlich der neuen Linien) wiederholt irgendwo zwischen 1 und 160 - mal, einschließlich: (.|\n). Allerdings werden sie nur überein, wenn es ein Leerzeichen oder ein Satzzeichen nach diesen Zeichen finden Sie unter : [ .!?]. Da reguläre Ausdrücke eifrig sind (sie stimmen mit der längsten möglichen Zeichenfolge überein, selbst wenn auch kleinere Teilzeichenfolgen übereinstimmen), ist jede Übereinstimmung die längste Zeichenfolge, die aus 1 bis 160 Zeichen besteht, gefolgt von einem Leerzeichen oder einem Satzzeichen.

(Meinten Sie übrigens 1600 Zeichen? Seiten mit 160 Zeichen sind wirklich recht kleine Seiten.)

0
krowe

Wenn Sie GNU-Tools installiert haben, können Sie dies über die Befehlszeile tun.

Sie haben nicht angegeben, wie Sie diese Seiten neben der Anzahl der Zeichen aufteilen möchten. split kann dies mit dem Parameter -b tun. So etwas wie:

# split -b 160 inputfile split 

Sollte es tun. Verdoppeln Sie die Byte-Anzahl, wenn Sie einen Multibyte-Zeichensatz verwenden. Wenn Sie UTF-8 verwenden, müssen Sie zuerst in UTF-16 konvertieren.

Funktioniert dies nur bei der Anzahl der Zeichen oder kann es bei "logischen" Pausen aufgeteilt werden, wie nach dem letzten Leerzeichen oder Satzzeichen, das 160 Zeichen nicht überschreitet? fixer1234 vor 9 Jahren 0
Es funktioniert nur in Zeilen oder Bytes AFAIK. `cntr = 1; für Chunk in` sed -e 's. \ / & \ n / g' source.txt`; echo $ chunk> chunk $ cntr.txt; cntr = $ (($ cntr + 1)); done` wird jedoch alle 70 Wörter aufgeteilt. (Beachten Sie, dass die Website-Ausgabe zwei Backticks verbirgt.) krowe vor 9 Jahren 0
@krowe Sie können Backticks mit einem Backslash (dh `\\` `),` für einen Block in \ `sed ... \`; ... fertig " Trojan vor 9 Jahren 1
`cntr = 1; für Chunk in \` sed -e's /. \ / & \ n / g 'source.txt \ `; echo $ chunk> chunk $ cntr.txt; cntr = $ (($ cntr + 1)); fertig " krowe vor 9 Jahren 0