非常によく似た2つの「縮小された」JavaScriptファイルを比較する必要があります。最小化は、とりわけ、コンピュータの解釈に不要な改行や空白文字が削除されることを意味します。したがって、ファイルの最大行数は> 400000文字です。私はこれらのファイルを維持しておらず、最小化方法を変更することはできません。
これらの非常に類似したファイル間の違いをどのようにdiff
表示し、変更/追加された単語のみを表示できますか(おそらく10文字の文脈を含む)?
環境:
これはサーバー上にあるため、比較する特別なツールやソフトウェアをインストールすることはできず、標準の「オンボード」ツールを使用する必要があります。 CentOSサーバーなので、gawk
POSIX/GNUツールなどはもちろん、Perl、php、Pythonもあります。ただ、この簡単な作業のためにパッケージをインストールしたり、大規模なgitリポジトリを複製することはできません。
私たちの仕事のほとんどはを使用しているので、tcsh
他のシェルに固有の特別な構文なしで答えが機能できる場合は、解決策にアクセスしやすくなります。
答え1
読みやすくするためにスペースを追加できますdiff
。たとえば、すべての閉じ括弧とセミコロンの後に新しい行を追加します。これで十分です。これを行う高速で汚れた行はsed
次のとおりですsed 's/\([;}]\)/\1\n/g'
。
たとえば、cloudflare.comでホストされているjqueryの縮小バージョンの場合:
curl https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js | sed 's/\([;}]\)/\1\n/g'
他のツールを使用してよりよく読みやすいスクリプトを取得するには(たとえば、変数名のパッキングを元に戻すことはできません)、いくつかのオプションがあります。ここ。