web-dev-qa-db-ja.com

diffにパイプできませんか?

私は賢くなり、最初に手動でダウンロードせずにリモートファイルをローカルファイルと比較したいと考えました。私はリモートファイルの内容を取得できます

ssh user@remote-Host "cat path/file.name"

ただし、diffへのパイプ

ssh user@remote-Host "cat path/file.name" | diff path/file.name

これをくれ:

diff: missing operand after `path/file.nae'
diff: Try `diff --help' for more information.

Sshキーが設定されているので、パスワードの入力を求められません。これの回避策は何ですか?

81
user394

標準入力を表すには-を使用してください。

ssh user@remote-Host "cat path/file.name" | diff path/file.name -

99
Hemant

ここに1つの回避策があります:diffは<(expr)を引数として受け入れているようです:

diff <(ssh \"cat path/file.name/") <(cat path/file.name)
68
user394

Diffへのパイプは実行と同等です

diff path/file.name

そして、それが実行されたら、ファイルの内容全体を入力します。

ご覧のとおり、それは期待したものではありません。

4
Macha
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no root@server "cat /tmp/remotetempfile")
1
Vlad