4

我有一个打印数百行输出的 telnet 命令,我可以 grep 输出吗?

4

3 回答 3

12

使用“脚本”命令。如果您在运行 telnet 之前运行“脚本”,则写入终端的所有文本也会写入 /file/path/filename。您必须执行“退出”或 Ctrl-D 才能实际写入文件,或者您可以检查文件。

最后使用文件名对文件进行 grep | grep "搜索文本"

/file/path/filename 是您要存储 telnet 输出的路径。

使用脚本命令

script /tmp/myscript.txt

然后您在终端中触发的所有命令和输出都将进入此文件。完成后使用 ctrl + D ,这将写入文件。

对此文件执行 grep。

cat /tmp/myscript.txt | grep "textToSearch"
于 2012-08-25T10:49:38.197 回答
6

使用tee命令将内容重定向到文件:

telnet google.com 80 | tee outfile

然后grep文件

于 2012-08-25T11:28:57.490 回答
-1

要 grep 网络连接的输出,您可以使用 Bash shell 代替telnet,例如:

exec {stream}<>/dev/tcp/example.com/80
printf "GET / HTTP/1.1\nHost: example.com\nConnection: close\n\n" >&${stream}
grep Example <&${stream}
于 2017-08-18T11:04:39.267 回答