Verwenden von sedund 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). sedDie Ausgabe wird dann weitergeleitet, fmtum die resultierenden Absätze neu zu formatieren.
Alternativ verwenden, parwenn Sie es installiert haben. Es ist ein weiterer Absatzumformatierer, aber viel leistungsfähiger als fmtmit 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 sederneut 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.