我有一个过程可以让我在屏幕中连续输出。我想通过输出中的以下 Perl 正则表达式搜索 CamelCase 单词,以便我可以主动监控输出。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
我有一个过程可以让我在屏幕中连续输出。我想通过输出中的以下 Perl 正则表达式搜索 CamelCase 单词,以便我可以主动监控输出。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
我在 GNU/Screen 中进行了测试并检查了源代码。两者都表明这是不可能的。搜索功能似乎只支持基本字符串匹配。
我的建议是,tee
除了打印它之外,您还可以使用该命令将程序的输出发送到文件。之后,您可以对文件使用 Perl 或 grep。
$ your_program | tee your_program_output
$ grep pattern your_program_output
是的,捕获输出并搜索它。gnu/screen 不是捕获数据的正确工具,而且很多事情都可能出错。但显然你仍然可以在屏幕会话中运行它。
如果您已经在没有 tee 的情况下在 screen 内运行程序并且不想再次运行它,假设您的回滚缓冲区足够大,您可以将整个回滚缓冲区复制到一个文件中,然后使用您喜欢的方法进行搜索。