Unix:控制台输出上的Grep

Unix:控制台输出上的Grep,unix,console,grep,Unix,Console,Grep,这是我关于stackoverflow的第一个问题! 我想要一个unix脚本,它将在控制台输出上运行grep。以下是我的脚本的作用: 1.远程登录到远程服务器(我已成功完成此部分) 2.成功登录后,远程服务器将在控制台上显示输出信息。我需要在控制台输出上运行grep(需要帮助) 因此,我需要一个脚本来对控制台上出现的输出运行grep 有什么想法吗 谢谢, Puneet您是否尝试过I/O重定向?你也可以这样做 $ your-command > output.txt 然后在该文件上运行grep

这是我关于stackoverflow的第一个问题! 我想要一个unix脚本,它将在控制台输出上运行grep。以下是我的脚本的作用: 1.远程登录到远程服务器(我已成功完成此部分) 2.成功登录后,远程服务器将在控制台上显示输出信息。我需要在控制台输出上运行grep(需要帮助)

因此,我需要一个脚本来对控制台上出现的输出运行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'