我目前正在使用相当多的 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