Как объединить первую строку с несколькими следующими строками?

Ответ aosd_cat. Далек от совершенства, в любом случае он может отображать в стиле OSD. строка Unicode, использующая любой шрифт, известный fontconfig. У программы есть разные проблемы, главная из которых заключается в том, что она является детищем заброшенного проекта (проекта Atheme ), но она включена в ряд важных дистрибутивов Linux (Debian, Ubuntu, ? )Так что я надеюсь, что она останется на какое-то время...

Это должно быть адаптировано к моему вопросу (лучше выглядящие экранные часы )вот так:

$ while true ; do date +%R ; sleep 60 ; done | aosd_cat -u 59500 &

где -u 59500— это продолжительность в миллисекундах, в течение которой каждая строка ввода должна оставаться на экране. В программе есть параметры прозрачности, шрифтов, постепенного -появления/исчезновения, размещения экрана, цветов, так что ее можно настроить до смерти... Что касается того, что отображают часы, у man dateесть все ответы.


ps :Позже я понял, что aosd_catрисует строку в прозрачном прямоугольном окне без декора, которое, к сожалению, перехватывает щелчки мыши, поэтому невозможно получить доступ, например, к меню базового приложения.

Я могу смириться с тем, что (мой основной вариант использования — часы на экране во время презентации, )но я хочу предупредить вас, что это не идеальные экранные часы...

1
15.10.2019, 18:46
2 ответа

Поэтому сохраните строки, начинающиеся с %%TRACRT:, а затем добавьте их к следующим ссылкам:

awk '/^%%TRACERT:/ {sfx = $0; next} {print $0 "," sfx}' data
1
27.01.2020, 23:30

Используя любой sed, вы сохраняете %%TRACERTстроки в hстаром пространстве и dудаляете их, в то время как к другим строкам добавляется место хранения с Gи заменяется новая строка (, вызванная добавив )запятую:

sed '/%%TRACERT/{h;d;};G;s/\n/,/' file.csv
1
27.01.2020, 23:30

Теги

Похожие вопросы