Використання sedта 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.
Сценарій sed вставляє новий рядок перед кожним рядком, який починається з великої літери (за винятком самого першого рядка введення). sedПотім виводиться висновок fmtдля переформатування отриманих абзаців.
Крім того, використовуйте, parякщо він встановлений. Це ще один переформатор абзацу, але набагато більш здатний, ніж fmtіз значно більшою кількістю функцій та можливостей.
Зауважте, що між кожним абзацом буде порожній рядок. Абзаци повинні бути відокремлені один від одного хоча б одним порожнім рядком. Без порожніх рядків увесь зразок введення переформатується у вигляді одного абзацу з кількома реченнями, наприклад:
$ fmt input.txt
This is one sentence that is broken. However this is a good one.
And this one is somehow, broken into many.
Якщо вам потрібно буде видалити порожні рядки після переформатування, просто переведіть їх sedще раз, але це видалить ВСІ порожні рядки, включаючи будь-які, що були в оригінальному введенні. напр
$ 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.