找到

2012-03-21 46 views
0

你好我試圖在遠程機器我如何做到這一點找到

ssh login.com find /nfs/repo/ -name ".user_repo.log" | \ 
    xargs cat | awk '{$NF=""; print $0}' |    \ 
    sed "1i Owner RepoName CreatedDate" | column -t 

我收到以下錯誤消息

cat: /nfs/repo/new1/info/.user_repo.log: No such file or directory 
cat: /nfs/repo/new2/info/.user_repo.log: No such file or directory 

cat命令試圖在執行以下命令遠程機器上的文件在遠程計算機上存在這些文件時在本地系統上查找文件。如何處理此問題

回答

3

如果你這樣做:

ssh host command1 | command2 

然後shell會在管道中斷,所以你會得到「ssh host command1」作爲一個命令運行。遠程),然後在「命令2」運行爲另一個命令(即本地)可以強制所有的命令遠程運行由封閉引號:

ssh host "command1 | command2" 

注意,因爲你已經在命令報價,你可能不得不冒險逃脫。

或者,你可以把所有這些命令在很短的shell腳本,然後只需運行該腳本:

ssh host myscript.sh 
+2

+1的shell腳本,這似乎是這樣做的唯一理智的方式。 – 2012-03-21 14:48:07