サーバー間のファイル比較

サーバー間のファイル比較

昔、おおよそ次のようなことをした記憶があります。

vimdiff <(scp://some_server/home/user/.zshrc) <(scp://some_server-qa/home/user/.zshrc)

(中和は私のユーザーやキーなどで定義されてsome_serverいるので、シェルに含める必要はありません)。some_server-qa~/.ssh/config

問題は、これを行うためにどの構文が必要かわからず、インターネット検索をしても何も見つからないということです。ここで誰かが私が何を見逃しているかを知っていると確信しています。私は何を見逃していますか?

答え1

vim特定のURLを使用してリモートファイルを開くことができるので、次のことができます。

vimdiff scp://some_server{,-qa}/home/user/.zshrc

:h scp文書内の内容を入力してください。vim

ビルド時にサポートが有効になっていない場合は、いつでも次のことができます。

vimdiff -R <(ssh some_server cat /home/user/.zshrc) \
           <(ssh some_server-qa cat /home/user/.zshrc)

ただし、リモートファイルを変更することはできません。

これは、これらのファイルを編集することに意味がないことを思い出させるため-Rです(いつでもそれを行うことはできますが、編集したファイルを再送信します(またはログインシェルもデフォルトシェルの場合))。vim:w !ssh host 'cat > file':w !ssh host '>file'hostzsh$NULLCMDcat

答え2

いつものように、Stefanの答えは素晴らしいです。これはただの付録です。この内容が役立つ場合は、彼の答えにも賛成投票をしてください。

私は(何らかの理由で)このscp://システムを私のシステムで動作させることはできませんでしたが、このsftp://システムは私にとって効果的でした。

vimdiff sftp://some_server{,-qa}/home/user/.zshrc

関連情報