Verwenden von sed
und fmt
:
$ sed -e '1n; s/^[[:upper:]]/\n&/' input.txt | fmt
This is one sentence that is broken.
However this is a good one.
And this one is somehow, broken into many.
Das sed-Skript fügt vor jeder Zeile, die mit einem Großbuchstaben beginnt, eine neue Zeile ein (mit Ausnahme der allerersten Eingabezeile). sed
Die Ausgabe wird dann weitergeleitet, fmt
um die resultierenden Absätze neu zu formatieren.
Alternativ verwenden, par
wenn Sie es installiert haben. Es ist ein weiterer Absatzumformatierer, aber viel leistungsfähiger als fmt
mit viel mehr Funktionen und Optionen.
Beachten Sie, dass zwischen jedem Absatz eine Leerzeile steht. Absätze sollten durch mindestens eine Leerzeile voneinander getrennt sein. Ohne die Leerzeilen wird Ihr gesamtes Eingabebeispiel als einzelner Absatz mit mehreren Sätzen neu formatiert, z.
$ fmt input.txt
This is one sentence that is broken. However this is a good one.
And this one is somehow, broken into many.
Wenn Sie die Leerzeilen nach der Neuformatierung entfernen müssen, leiten Sie sie einfach sed
erneut durch. Dadurch werden jedoch ALLE Leerzeilen entfernt, einschließlich aller Zeilen, die möglicherweise in der ursprünglichen Eingabe enthalten waren. z.B
$ sed -e '1n; s/^[[:upper:]]/\n&/' input.txt | fmt | sed -e '/^$/d'
This is one sentence that is broken.
However this is a good one.
And this one is somehow, broken into many.