Не может передать по каналу в разность?

lsb_release -a. Работы над Debian и я предполагаю Ubuntu, но я не уверен в остальных. Обычно это должно существовать во всем GNU/дистрибутивах Linux, так как это - LSB (Основа Стандарта Linux) связанный.

78
15.03.2017, 21:40
4 ответа

Попытайтесь использовать - представить стандартный вход.

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

95
27.01.2020, 19:31
  • 1
    при сравнении гигантских файлов (таких как образы дисков Linux) это производит их всех к консоли! даже с разностью-s (для "того же") это делает это. –  user391339 20.10.2014, 04:53

Вот одно обходное решение: diff кажется, принимает <(expr) как arguemnts:

diff <(ssh \"cat path/file.name/") <(cat path/file.name)
66
27.01.2020, 19:31
  • 1
    Это не разность, это - оболочка (удар, ksh, и zsh поддерживают этот синтаксис, но это не POSIX), с некоторой справкой от ядра (это должно обеспечить /dev/fd: diff видит что-то как /dev/fd/3 на его командной строке). –  Gilles 'SO- stop being evil' 20.08.2010, 22:25
  • 2
    Это не делает, "должен обеспечить" - оболочки могут создать временные именованные каналы для этой функции также. –  ephemient 24.09.2010, 17:11
  • 3
    это - самый прохладный ответ! –  neves 20.12.2011, 23:47
  • 4
    я лично предпочитаю этот ответ. Мне были нужны к разности два различных XML-файла; но они должны были быть правильно сформированы сначала. Ведомый к этому: diff -y <(xmllint --format "${1}") <(xmllint --format "${2}") который я теперь использую все время. –  Paul Nelson Baker 08.10.2014, 22:49
  • 5
    Это также очень полезно на OS X, где можно было бы хотеть сравнить два двоичных файла .plist файлы: diff <(plutil -convert xml1 -o -- "${1}") <(plutil -convert xml1 -o - -- "${2}") –  morgant 16.02.2015, 20:57
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no root@server "cat /tmp/remotetempfile")
1
27.01.2020, 19:31
  • 1
    Что с понижением безопасности StrictHostKeyChecking=no? Иначе хороший ответ. спасибо –  ctrl-alt-delor 15.03.2017, 21:48

Передача по каналу в разность эквивалентна выполнению

diff path/file.name

и затем, после того как это работает, вводя все содержание файла.

Как Вы видите, это не то, что Вы ожидали.

4
27.01.2020, 19:31
  • 1
    Никакое обходное решение? Взгляд :( –  user394 20.08.2010, 21:56
  • 2
    на ответ Hemant. Я не знал об одном. –  Macha 20.08.2010, 21:59

Теги

Похожие вопросы