【问题标题】:find files on remote machine在远程机器上查找文件
【发布时间】:2012-04-06 02:23:26
【问题描述】:

您好,我正在尝试在远程机器上执行以下命令,我该怎么做

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 命令试图在本地系统上查找文件,而这些文件存在于远程计算机上。我该如何处理这个

【问题讨论】:

    标签: linux sed awk find command


    【解决方案1】:

    如果你这样做:

    ssh host command1 | command2
    

    然后shell将在管道处中断,因此您将让“ssh host command1”作为一个命令运行(即远程),然后“command2”作为另一个命令运行(即,本地)。您可以强制所有用引号括起来远程运行的命令:

    ssh host "command1 | command2"
    

    请注意,由于您已经在命令中添加了引号,因此您可能需要通过转义来获得创意。

    或者,您可以将所有这些命令放在一个简短的 shell 脚本中,然后运行该脚本:

    ssh host myscript.sh
    

    【讨论】:

    • +1 表示 shellscript,这似乎是唯一明智的做法。
    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多