Quería ser inteligente y comparar un archivo remoto con un archivo local sin descargarlo primero manualmente. Puedo obtener el contenido del archivo remoto por
ssh [email protected] "cat path/file.name"
Sin embargo, canalizando eso a diff
ssh [email protected] "cat path/file.name" | diff path/file.name
me da esto:
diff: missing operand after `path/file.nae'
diff: Try `diff --help' for more information.
Tengo configuradas las claves ssh, por lo que no me solicita una contraseña. ¿Qué es una solución para esto?
Tratar de usar -
para representar la entrada estándar.
ssh [email protected] "cat path/file.name" | diff path/file.name -
Aquí hay una solución alternativa: diff
parece aceptar <(expr) como argumentos:
diff <(ssh \"cat path/file.name/") <(cat path/file.name)
Tubería en diff es equivalente a correr
diff path/file.name
y luego, una vez que se está ejecutando, escribe todo el contenido del archivo.
Como puede ver, eso no es lo que esperaba.
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no [email protected] "cat /tmp/remotetempfile")