我想从远程计算机获取一些文件。为此,我制作了一些管道来确定哪些文件必须被提取,并且这些结果也是我想要放入管道中的。如何表示远程计算机上的管道和本地计算机上的管道如下
远程管道合并为1给ssh的命令。
我不知道如何让远程机器上的管道结束,并将结果放入新的本地管道。所以,我做的:
ssh [email protected] find ... | grep ...| awk ...| ls
第2管是远程(查找,grep的,AWK在远程机器上运行),最后管本地(在本地机器上运行LS)。
我想从远程计算机获取一些文件。为此,我制作了一些管道来确定哪些文件必须被提取,并且这些结果也是我想要放入管道中的。如何表示远程计算机上的管道和本地计算机上的管道如下
远程管道合并为1给ssh的命令。
我不知道如何让远程机器上的管道结束,并将结果放入新的本地管道。所以,我做的:
ssh [email protected] find ... | grep ...| awk ...| ls
第2管是远程(查找,grep的,AWK在远程机器上运行),最后管本地(在本地机器上运行LS)。
将要在远程计算机上执行的命令的部分封装为双引号。例如。 find
,grep
和awk
将被远程执行,而少于本地优先。
ssh [email protected] "find ... | grep ...| awk ... "| less
正如它更好地使用单引号,如果有带引号的字符串中没有变量替换添加注释“tripleee”。如果远程命令中有变量,则使用"
。
ssh [email protected] "find $foo | grep ...| awk ... "| less
或使用'
如果没有涉及变量。
ssh [email protected] 'find "foo" | grep ...| awk ... '| less
正在寻找这个'ssh user @ remote“find ... | grep ... | awk ...”| ls'(注意双引号)?如果不是,请提供有关find,grep,awk命令的更多详细信息以获取[最小,完整和可验证示例](http://stackoverflow.com/help/mcve) – oliv