Sử dụng sed
và 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.
Tập lệnh sed chèn một dòng mới trước mỗi dòng bắt đầu bằng chữ in hoa (ngoại trừ dòng đầu tiên đầu tiên). sed
Đầu ra của sau đó được dẫn vào fmt
để định dạng lại các đoạn kết quả.
Hoặc sử dụng par
nếu bạn đã cài đặt nó. Đó là một đoạn trích khác, nhưng có nhiều khả năng hơn fmt
, với nhiều tính năng và tùy chọn hơn.
Lưu ý rằng sẽ có một dòng trống giữa mỗi đoạn. Các đoạn nên được tách biệt với nhau bằng ít nhất một dòng trống. Không có các dòng trống, toàn bộ mẫu đầu vào của bạn được định dạng lại thành một đoạn nhiều câu, ví dụ:
$ fmt input.txt
This is one sentence that is broken. However this is a good one.
And this one is somehow, broken into many.
Nếu bạn cần xóa các dòng trống sau khi định dạng lại, hãy chuyển nó qua sed
một lần nữa - nhưng điều này sẽ xóa TẤT CẢ các dòng trống, bao gồm bất kỳ dòng nào có thể có trong đầu vào ban đầu. ví dụ
$ 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.