1

У меня проблема. Приложение выплеснуло всю загрузку текста журнала в окно оболочки, которое необходимо зафиксировать. Если бы мы могли пропустить пропущенную фразу «вероятно, не должно быть вывода приложения, это стандартный вывод где-либо, кроме файла журнала», есть ли инструмент / команда, которую я могу использовать для захвата вывода программы?

Кроме выделения всего текста с помощью мыши и копирования в текстовый файл. Есть 250 000 строк ... :)

1 ответ1

1

Если вы можете запустить программу снова, у вас есть 3 варианта:

  1. Если вам не нужно видеть вывод во время работы программы, используйте простое перенаправление (как уже предложил jonsca):

    $ yourVerboseProgram> anyNameForYourLogFile

  2. Если вы хотите видеть вывод программы во время ее работы, у вас есть две (как минимум) опции:

    а) Запустите его, как описано выше, в то время как во втором терминале выполняется tail -f yourLogFile

    б) ("б" для "лучше") Используйте tee:

    $ yourVerboseProgram | tee anyNameForYourLogFile

  3. Если 2. применяется, и программа является интерактивной (требует вашего ввода во время работы), используйте программу- script:

    $ script aLogFile.log
    Script started, file is aLogFile.log
    $ yourVerboseProgram
    

    (программа работает ... И выход.) Затем вы выходите из сценария:

    $ exit
    Script done, file is aLogFile.log
    

    Единственная проблема с опцией 3 состоит в том, что все регистрируется, включая нажатия клавиш, такие как нажатие клавиши "Backspace" и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .