Как извлечь текст из текущей оболочки?

Когда я хочу задать вопрос на платформе Linux, я должен был бы всегда предоставлять снимок экрана текущей оболочки. Но беря снимок, загрузка, связываясь стоит многого, есть ли какая-либо команда для извлечения текста непосредственно из текущей оболочки?

2
задан 31.10.2011, 03:01

2 ответа

Вы могли просто использовать команду сценария.

Взятый из руководства:

Утилита сценария делает машинописный текст всего распечатанного на Вашем терминале.
Это полезно для студентов, которым нужна запись бумажной копии меж - активная сессия как доказательство присвоения, поскольку файл машинописного текста может быть распечатан позже с lpr (1).

Если файл аргумента дан, сценарий сохраняет весь диалог в файле. Если никакое имя файла не дано, машинописный текст сохраняется в машинописном тексте файла.

Если команда аргумента будет дана, то сценарий выполнит указанную команду с вектором дополнительного аргумента вместо интерактивной оболочки.

Пример (информация в файле машинописного текста):

Script started on Mon Nov  2 21:13:17 2009
bash-3.2$ pwd
/Users/ricbax
bash-3.2$ ps
  PID TTY           TIME CMD
  395 ttys000    0:00.02 -bash
  425 ttys000    0:00.00 script
  426 ttys001    0:00.01 /bin/bash -i
bash-3.2$ exit
exit

Script done on Mon Nov  2 21:13:44 2009
1
ответ дан 08.12.2019, 07:38

screen может сделать это. Соединитесь с a screen экземпляр, выполненный Ваши команды оболочки, и, получает "бумажную копию" текущего терминала с hardcopy экранируйте команду (введите Ctrl-A, затем нажмите "h"). Вывод обычно сохраняется в Вашем корневом каталоге в ~/hardcopy.1, ~/hardcopy.2, и т.д.

При необходимости в больше, чем, что находится на текущем экране, использовать screenбуфер scrollback.

  • Получите доступ к нему (войдите "в режим копии") путем нажатия Ctrl-A, затем Esc.
  • Прокрутите/вниз с Ctrl-U/Ctrl-D или клавишами со стрелками или перемещением стиля энергии (j/k/l/h).
  • Выйдите "из режима копии" путем нажатия Esc.

Используя "режим копии", можно выбрать блок текста и получить бумажную копию как это:

  1. Войдите "в режим копии" (нажмите Ctrl-A, затем Esc).
  2. Прокрутите к запуску текста, который Вы хотите скопировать.
  3. Нажмите SPACE. Это отмечает запуск.
  4. Прокрутите в конец текста, который Вы хотите скопировать.
  5. Нажмите SPACE снова. Это заполняет буфер копии и выходит "из режима копии".
  6. Запишите буфер копии в файл (нажмите Ctrl-A, затем >). Буфер копии выписан к /tmp/screen-exchange.
  7. Копия /tmp/screen-exchange в любой файл Вам нравится:

    cp /tmp/screen-exchange ~/my.terminal.printout.txt

Вывод Вашего терминала находится теперь в ~/my.terminal.printout.txt.

2
ответ дан 08.12.2019, 07:38

Теги

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