Linux 如何对两个命令使用一个ssh来保存两个不同的文件

Linux 如何对两个命令使用一个ssh来保存两个不同的文件,linux,bash,shell,unix,ssh,Linux,Bash,Shell,Unix,Ssh,如何对两个命令使用一个ssh来保存两个不同的文件。就像一个命令是ps-ef | grep Consumer | cut-f6-d''并将此输出保存在file.log中一样,第二个命令是ps-ef | grep Test | cut-f7-d''并将输出保存在Test.log中只有ps-ef需要在远程系统上运行。解析输出可以在本地系统上进行 &使用awk更容易。只需要一个ssh会话&ps-ef命令快照: ssh user@host ps -ef | awk -F' ' '/Consumer/{pr

如何对两个命令使用一个ssh来保存两个不同的文件。就像一个命令是ps-ef | grep Consumer | cut-f6-d''并将此输出保存在file.log中一样,第二个命令是ps-ef | grep Test | cut-f7-d''并将输出保存在Test.log中

只有ps-ef需要在远程系统上运行。解析输出可以在本地系统上进行

&使用awk更容易。只需要一个ssh会话&ps-ef命令快照:

ssh user@host ps -ef | awk -F' ' '/Consumer/{print $6 > "file.log"}; /Test/{print $7 > "test.log"}'
grep+cut可以发生在awk-'/pattern/{print$n}'中 使用awk也可以轻松实现文件重定向。检查上面答案中的语法。
我更愿意只在远程系统上进行解析,因为ps-ef提供了一个大的输出,如果我们不在那个里解析和剪切它,那个么整个输出将通过网络从远程系统传输到本地系统。如果输出大小增加,则可能需要更多时间。而且我们甚至不需要在本地系统上完成整个输出,所以最好只在远程系统上解析它


sshuser@hostps-ef | grep Consumer | cut-f6-d'>file.log;ps-ef | grep Test | cut-f7-d'>Test.log

输出文件应该在本地系统上,或者在本地系统上进行远程ssh?输出我认为ps-ef需要在远程系统上运行。是的。ps-ef需要在远程系统上运行,但输出应保存在本地系统上。