Использование 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.
Попробуйте использовать xprop
, чтобы получить класс окна, а затем использовать его вместо заголовка, это не должно измениться в ближайшее время.
Вы можете запустить xprop | grep -i class
из терминала, а затем щелкнуть в окне Intellij IDEA, и он должен распечатать класс в терминале.
Я не использовал wmctrl, но использую класс или appid окна в Sway для создания привязок клавиш для фокусирования определенных программ.
редактировать :беглый взгляд на справочную страницу wmctrl показывает, что аргумент -x
может вам помочь. «Включите WM _CLASS в список окон или интерпретируйте как имя WM _CLASS».