【发布时间】:2009-05-04 01:09:04
【问题描述】:
我有一个过程可以让我在屏幕中连续输出。我想通过输出中的以下 Perl 正则表达式搜索 CamelCase 单词,以便我可以主动监控输出。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
【问题讨论】:
标签: regex perl gnu-screen
我有一个过程可以让我在屏幕中连续输出。我想通过输出中的以下 Perl 正则表达式搜索 CamelCase 单词,以便我可以主动监控输出。
/\b([a-z]*[A-Z][a-z]*){2,}\b/
【问题讨论】:
标签: regex perl gnu-screen
我在 GNU/Screen 中进行了测试并检查了源代码。两者都表明这是不可能的。搜索功能似乎只支持基本的字符串匹配。
我建议您使用tee 命令将程序的输出发送到一个文件,而不是打印它。之后您可以在文件上使用 Perl 或 grep。
$ your_program | tee your_program_output
$ grep pattern your_program_output
【讨论】:
是的,捕获输出并进行搜索。 gnu/screen 不是捕获数据的正确工具,很多事情可能会出错。但显然你仍然可以在屏幕会话中运行它。
【讨论】:
如果你已经在不使用 tee 的情况下在 screen 内运行程序并且不想再次运行它,assuming your scrollback buffer is large enough,你可以copy the entire scrollback buffer to a file,然后用你喜欢的方法搜索。
【讨论】: