有没有一种简单的方法可以让我:
- 在 putty 的输出窗口中搜索字符串?
- 或者甚至是 Linux 命令来搜索并突出显示输出中的字符串?
我的输出中有 20,000 多行,有时我必须搜索customer_id : 1111
,目前我必须将它们复制到 word 或记事本中然后搜索。
有一个更好的方法吗 ?
答案1
如果你不关心其余的输出,那么
yourcommand | grep "some regular expression"
仅打印包含“一些正则表达式“。
yourcommand | less
会将命令的输出发送到less
命令,该命令允许您上下滚动输出。您可以通过键入/some regular expression
并按回车键进行搜索。 q
将关闭程序。
如果你确实想保存该文件,那么
yourcommand > outputfile
会将输出发送到文件而不是屏幕,您可以在编辑器中打开并搜索,而不是将其显示在屏幕上。如果存在,则会outputfile
在命令运行之前将其删除。如果您使用,则可以将输出添加到现有文件的末尾>>
。
该tee
程序允许您将输出保存到文件并同时将其发送到另一个程序:
yourcommand | tee outputfile | somethingelse
这将保存原始输出并将outputfile
其传递给其他命令。
答案2
我使用了一个非常聪明的技巧(如果我这么说的话)。
答案是否定的,putty无法在滚动缓冲区中进行查找。
这是我的解决方法:
我启用了 Putty 会话日志记录,然后在 GxTail(一个实时更新的文本查看器)中打开会话日志。我并排打开窗口(或在每个显示器上打开一个窗口),当我在 Putty 中发出命令时,输出显示在 GxTail 窗口中。GxTail 具有与任何文本编辑器一样的完整查找功能(ctrl-f)。
这是在 Putty 中仅次于 ctrl-f 的最佳选择。非常适合长时间的 cisco 运行配置,因为 | inc 管道命令存在一些缺点。
答案3
我建议你以后启用 PuTTY 日志记录,确保日志大小合适。这样你就可以使用任何不错的文本编辑器打开日志并搜索你想要的任何文本部分,无论是你的输入还是远程系统的输出。
答案4
要在文件中搜索字符:
$ more YourFile
然后你输入/
并键入你要查找的字符:
例如:/a