使用“tee”有选择地记录 Ubuntu 终端输出?

使用“tee”有选择地记录 Ubuntu 终端输出?

我需要记录终端输出。但我只需要一些以关键字开头的输出(例如以“error”开头)。我使用类似的东西:

ls | tee "log.txt"

在此示例命令中,我不想记录终端显示的所有内容。仅当我发现以“De”开头的输出时才记录。我该如何实现这一点?

答案1

如果您的 shell 是bash,您可以使用进程替换将 的输出转换tee为 的输入。例如,当将 以“De”开头的行grep的输出过滤为 时,命令将是:lslog.txt

ls |tee >(grep ^De >| log.txt)

相关内容