将 ssh 终端 grep 结果获取到当前结果的方法

将 ssh 终端 grep 结果获取到当前结果的方法

我目前正在使用相当多的 grep。问题是我通过 ssh 连接在远程服务器上执行此操作。有什么方法可以将命令结果(我经常在搜索中进行大量管道操作以格式化结果)到我自己的终端,甚至是我计算机上的文件?

答案1

您可以通过 ssh 连接在远程服务器上运行命令,而无需 ssh 服务器

ssh [email protected] "Command you want to run on the remote server" > <filename>

对于跳转盒服务器,您可以ProxyCommand在以下位置使用.ssh/config

Host <target server name>
    HostName <target ip address>
    ProxyCommand ssh <jump box user>@<jump box ip> -W %h:%p
    User    <target user>

然后你可以检查:

ssh -A <target server name> "command"

答案2

grep将处理其标准输入流,ssh并可用于远程执行生成输出的命令。此输出可以由本地处理grep并重定向到本地文件:

ssh ...some options... some_command | grep ...options etc... >outputfile

例如,

ssh user@server cat file1 file2 file3 | grep 'pattern' >localfile

相关内容