Usando sed
y 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.
La secuencia de comandos sed inserta una nueva línea antes de cada línea que comienza con una letra mayúscula (excepto la primera línea de entrada). sed
La salida de la salida se canaliza fmt
para formatear los párrafos resultantes.
Alternativamente, use par
si lo tiene instalado. Es otro formateador de párrafos, pero mucho más capaz que fmt
, con muchas más características y opciones.
Tenga en cuenta que habrá una línea en blanco entre cada párrafo. Los párrafos deben estar separados entre sí por al menos una línea en blanco. Sin las líneas en blanco, toda su muestra de entrada se reformatea como un solo párrafo de varias oraciones, por ejemplo:
$ fmt input.txt
This is one sentence that is broken. However this is a good one.
And this one is somehow, broken into many.
Si necesita eliminar las líneas en blanco después de sed
volver a formatear, simplemente vuelva a conectarlo, pero esto eliminará TODAS las líneas en blanco, incluidas las que puedan haber estado en la entrada original. p.ej
$ 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.