22

ローカル ファイル システムではなく Web 上の 2 つのファイルの違いを確認したいと考えています。だから、私は使用する必要があると思いますdiffcurlおよび何らかの配管。

何かのようなもの

curl http://to.my/file/one.js http://to.my/file.two.js | diff 

しかし、うまくいきません。

4

2 に答える 2

1

このページにたどり着いた人の中には、コードの差分ではなく、行ごとの差分を探している人もいるかもしれません。その場合、coreutils を使用すると、次を使用できます。

comm -23 <(curl http://to.my/file/one.js | sort) \
         <(curl http://to.my/file.two.js | sort)

2 番目のファイルにない最初のファイルの行を取得します。comm -13最初のファイルにはない 2 番目のファイルの行を取得するために使用できます。

coreutils に制限されていない場合は、sd (ストリーム diff) を使用することもできます。これは、次のように、並べ替えやプロセスの置換を必要とせず、無限のストリームをサポートします。

curl http://to.my/file/one.js | sd 'curl http://to.my/file.two.js'

無限ストリームをサポートするという事実により、いくつかの興味深い使用例が可能になります:while(true)ループ内でカールを使用して (ページが「新しい」結果のみを提供すると仮定して)、sd指定された時間後に新しいストリーミングなしでストリームをタイムアウトにすることができます。行。

これは、ターミナルでのストリームの差分について書いたブログ投稿sdです。

于 2016-08-01T08:10:44.613 に答える