it-gundan.com

diff로 파이프 할 수 없습니까?

먼저 수동으로 다운로드하지 않고 영리하고 원격 파일을 로컬 파일과 비교하고 싶었습니다. 원격 파일의 내용을 얻을 수 있습니다

ssh [email protected] "cat path/file.name"

그러나 diff

ssh [email protected] "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 [email protected] "cat path/file.name" | diff path/file.name -

99
Hemant

해결 방법은 다음과 같습니다. 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 [email protected] "cat /tmp/remotetempfile")
1
Vlad