paste -sd ',\n' file.in > file.out
Также обратите внимание, что, потому что мы просто заменяем один символ другим (любая новая строка с запятой), мы можем работать над входным файлом на месте:
paste -sd ',\n' file.in 1<> file.in
(но остерегайтесь, это не могло бы работать над системами не-Unix, которые имеют разделители CRLF (как Microsoft), что некоторые эмулировали POSIX paste
мог бы рассматривать в не-Unix путь),
Я просто попробовал следующее и смог отправить вывод от своего рабочего стола до /dev/tty2
использование whiptail
таким образом, я думаю, что Вы делаете, казался бы выполнимым. Несколько вещей, которые я заметил.
Я должен был быть корнем для отправки чего-либо в /dev/tty2
. Я предполагаю, что Вы выполняете это как a monit
пользователь, у которого, скорее всего, не было бы полномочий отправить данные в и tty устройство.
--infobox
--infobox
переключатель, казалось, не работал в моей текущей оболочке, но я смог отправить --infobox
кому: /dev/tty2
. YMMV. --msgbox
работавший в обоих случаях.
"Уловка" заключается в том, что whiptail (например, диалог) записывает свои сообщения по умолчанию в стандартную ошибку , поскольку обычная программа использует стандартный вывод для обновления экрана.
Вы можете перенаправить стандартную ошибку, поместив 2
рядом с меткой >
:
#!/bin/bash
/usr/bin/whiptail --infobox 'Hello World.' 7 25 2>/dev/tty1
Дополнительная литература:
echo 'Hello World.' >/dev/tty1
использование monit, таким образом, это не полномочия. Кроме того,--infobox
отклонит себя, не ожидая ввода данных пользователем, но дисплей останется при отправке его от другой консоли. – Yuri 25.07.2013, 15:22