Як записати вміст терміналу у файл


13

Ось моя ситуація: я відкриваю термінал і запускаю програму, яка відображає живий канал у терміналі (тексті), який змінюється щосекунди. Під час роботи цієї програми можна використовувати лише клавішу "Enter" (вона виходить із цієї програми). Таким чином, ви нічого не можете вводити в консоль.

Я хотів би записати цей вміст терміналу у файл, як після кожної секунди.

Як це зробити? Відкриваючи 2-ю консоль і використовуючи якусь команду? Неможливо змусити його працювати з командою setterm -dump.


1
Гм, яка це програма? Якщо ви не перевірили добре, переконайтеся, що в програмі є можливість зберегти вихід десь.
Северо Роз

Перевірив це. Це не так. Інакше у мене не було б цієї проблеми. Програма live-f1, launchpad.net/live-f1
Густав

Відповіді:


16

Ви можете передавати свій вихід teeпрограмі ( опис ):

my_program ... | tee my_program.log

Це покаже вихід у терміналі, але також запише його у файл my_program.log


Той самий результат, що і у 1-ї відповіді. : /
Густав

1
На екрані, який ви опублікували, схоже, що в ньому багато послідовних аварійних послідовностей. З інформації про запуск, він використовує ncurses (я завантажив джерело bzr branch lp:live-f1, а потім пішов шукати в README). Чи можете ви запускати програму без кольорів, встановивши TERMна dumb ( export TERM=dumb)? Джерело також має TODOфайл із зазначенням у списку бажань, щоб зберегти історію драйверів. Можливо, ви можете зв’язатися з розробниками, щоб побачити, що вони планують, або якщо у них є спосіб зберегти результати.
Steabert

12

Коли ви виконуєте свою команду з терміналу замість того, щоб бачити вихід на консолі, ви можете перенаправити її прямо у файл. Поки програма працює, ваш вихід буде записаний у файл. Приклад дозволяє сказати, що потрібно записати вміст вашої папки командою ls у файл, який називається list.txt

ls > list.txt

>Оператор переадресує висновок в відповідно до ваших потреб.


Thx, це працює, але частково. Вміст має бути HTML, але коли я відкриваю файл, він виглядає приблизно так (фрагмент з файлу): VETTEL [21G (B [m [39; 49m. Назва програми - "live-f1". Live-f1> live_f1_dump. журнал
Густав

@Gustav ти маєш на увазі, що в консолі він друкує html, а у файлі вищевказані рядки?
топлес

Так. Це я отримую, коли запускаю запропоновану вам команду: upload.ee/image/1223166/ss_01.png . Моя мета - отримати позиції водіїв Формули-1 з живої-f1 подачі у файл. Я працював минулого року, запустивши програму live-f1 в 1-му терміналі, потім запустивши 2-й термінал і використовуючи якусь команду, що захопив 1-й екран терміналу і зберег його у файл (копія з минулорічного файлу: upload.ee/download/1223347 /0b6545ce227661452c8/html.log ). Команда була приблизно такою: tty "1-й покажчик терміналу" "ім'я файлу". Можливо, що це було щось інше, що "tty", що я використовував для цього.
Густав

2

Спробуйте скористатися scriptкомандою. На жаль, це містить багато контрольного персонажа gobbledegook у стенограмі. Однак, якщо ви побачите це посилання на сайті CSSS NCSSM, ви знайдете недосконале, але досить хороше рішення проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.