Unix:控制台输出上的Grep
这是我关于stackoverflow的第一个问题! 我想要一个unix脚本,它将在控制台输出上运行grep。以下是我的脚本的作用: 1.远程登录到远程服务器(我已成功完成此部分) 2.成功登录后,远程服务器将在控制台上显示输出信息。我需要在控制台输出上运行grep(需要帮助) 因此,我需要一个脚本来对控制台上出现的输出运行grep 有什么想法吗 谢谢,Unix:控制台输出上的Grep,unix,console,grep,Unix,Console,Grep,这是我关于stackoverflow的第一个问题! 我想要一个unix脚本,它将在控制台输出上运行grep。以下是我的脚本的作用: 1.远程登录到远程服务器(我已成功完成此部分) 2.成功登录后,远程服务器将在控制台上显示输出信息。我需要在控制台输出上运行grep(需要帮助) 因此,我需要一个脚本来对控制台上出现的输出运行grep 有什么想法吗 谢谢, Puneet您是否尝试过I/O重定向?你也可以这样做 $ your-command > output.txt 然后在该文件上运行grep
Puneet您是否尝试过I/O重定向?你也可以这样做
$ your-command > output.txt
然后在该文件上运行grep,或者像这样直接通过grep管道输出
$ your-command | grep ...
有关类似信息,请参阅或谷歌搜索。关于这一点,网上可能有成千上万篇好文章。改用SSH。它更安全,更容易编写脚本
ssh remoteusername@remotehost:/path/to/remote/script | grep 'something'
通过适当的密钥设置,它甚至不会提示您输入密码。我建议使用(nc)代替telnet。然后,您可以通过标准输入传递登录凭据,并grep标准输出(nc在标准输出上打印服务器发送的任何内容)
nc您要做的可能是使用管道。您可能可以在上面的答案中看到它,这是您在命令中看到的|
符号。可能很难在键盘上找到它,具体取决于布局。(我不得不承认它不是很常用)
管道将重定向一个命令的输出。他们不会将其发送到控制台,而是将其作为另一个命令的输入发送
cmd1 | grep foo
相当于在cmd1
的输出上运行grep foo
(您可以用netstat命令替换cmd1)
最后一件事是,您可以拥有任意数量的管道。例如,在我的机器上,我可以运行ls-ltr | tail-1 | awk'{print$9}'| grep foo
在上次修改的文件中查找单词foo
您现在知道您所指的输出是如何生成的吗?如果无法在那里插入grep
,则需要将op存储在某个位置,然后在其上执行grep
。无法使用SSH,因为远程服务器仅支持telnet!
nc <host> <port> <auth.txt | grep 'string'