在 SuSE shell 中选择文本

在 SuSE shell 中选择文本

我有一个问题。一个应用程序将一大堆日志文本发送到需要捕获的 Shell 窗口中。如果我们可以跳过“应用程序可能不应该将其标准输出到日志文件以外的任何地方”,是否有我可以用来捕获程序输出的工具/命令?

除了用鼠标突出显示所有文本并复制到文本文件之外。有 250,000 行... :)

答案1

如果您可以再次运行该程序,则您有 3 个选择:

  1. 如果您不需要在程序运行时查看输出,请使用简单重定向(正如 jonsca 已经建议的那样):

    $ yourVerboseProgram > anyNameForYourLogFile

  2. 如果您想在程序运行时查看其输出,您至少有两个选择:

    a)按上述方法运行,在第二个终端中运行tail -f yourLogFile

    b)(“b”代表“更好”)用法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”等。

相关内容