Beyond Compareがウィンドウに対して行うような、ディレクトリとファイルを比較するものを探しています。
主にソース管理の使用に使用しますが、展開にも使用する必要があります。
Diffはあなたの友達です。
diff -ur path1 path2
これにより、path1とpath2の間で共通するすべてのファイルが比較されます。
-ur
を-urN
に変更すると、いずれかのパスにのみ存在するファイルの内容も表示されます。
「Beyond Compare」はLinuxでも利用可能です。
ダウンロードURLを確認してください: http://www.scootersoftware.com/download.php
diff
コマンドを使用します。
diff -u file1 file2
diff -u
は、数行のコンテキストを持つ形式を選択します。プレーンdiff file1 file2
は、異なる行のみをリストします。出力形式を制御したり、空白のみの違いを無視したりするためのオプションがさらにあります。
出力をファイルに書き込みたい場合は、リダイレクトします:
diff -u file1 file2 >file1-file2.diff
このブログエントリ に触発されました。
さまざまなファイルのリスト:
diff -qr folder1 folder2
コンテンツも一覧表示:
diff -Naur folder1 folder2
2つのディレクトリが同じマシン上にない場合、rsync
が最も簡単な解決策になる可能性があります。通常、rsync
はディレクトリを同期するために使用されますが、詳細モードとドライモードで実行できるため、変更する必要があるファイルのみがリストされます。
rsync -rvnc --delete folder1 server:/path/to/folder2
タイムスタンプとファイルサイズに基づいてファイルを比較してすべてを高速化する場合は、c
を省略できます。
rsync -rvn --delete folder1 server:/path/to/folder2
Krusaderは無料のツール(ソフトウェアセンターで利用可能)で、フォルダーの内容を比較して表示し、さまざまなオプションと同期できます。同期および比較しながらフィルタリングできます。
ファイルの内容を比較するには、2つのファイルをマークするだけで、「ファイル」>「コンテンツの比較」を選択すると、文字ごとに比較されます。 krusaderが使用するデフォルトの比較ツールは、デフォルトのKDEツール「Kompare」です。上記のいずれかのような、他の比較ツールを使用するようにkrusaderを設定できます。
これは私が見つけた最も完全なソリューションであり、非常に便利です。また、真夜中の司令官が使用するすべての関数keybindungsをサポートしています(ノートンの司令官の構文)。
Unisonは、rsyncアルゴリズムを使用する高速ファイル同期ツールであり、リモートまたはローカルの2つの場所の間で更新する前に違いをプレビューできます。
この比較を行う良い方法は、「find」と「md5sum」を使用し、次に「diff」を使用することです。
例:
Findを使用してディレクトリ内のすべてのファイルをリストし、各ファイルのmd5ハッシュを計算して、ファイルにパイプします。
$find /dir1/ -type f -exec md5sum {} \; > dir1.txt
別のディレクトリに対して同じ手順を実行します。
$find /dir2/ -type f -exec md5sum {} \; > dir2.txt
次に、結果の2つのファイルを「diff」と比較します。
$diff dir1.txt dir2.txt
この戦略は、比較する2つのディレクトリが同じマシンになく、両方のディレクトリでファイルが等しいことを確認する必要がある場合に非常に役立ちます。
ジョブを実行する別の良い方法は、gitを使用することです
git diff --no-index dir1/ dir2/
宜しくお願いします!
hashdeep について2週間前に学びました。そして、いくつかの強力な利点があります。
meld
とは対照的に、非常に大きなフォルダーに適しています。 meld
が極端に遅くなり、UIが応答しなくなる(ブロックされる)場合、hashdeepは一定の速度で動作しますrsync
とは対照的に、hashdeepは移動されたファイル(同じディレクトリにある同じコンテンツのファイル)を検出します。詳細な出力は次のとおりです。
...
foo/bar.txt: Known file not used
x/foo/M0824_2L.JPG: Moved from y/P1010998.JPG
hashdeep: Audit failed
Input files examined: 0
Known files expecting: 0
Files matched: 6233
Files partially matched: 0
Files moved: 3695
New files found: 19257
Known files not found: 4713
FreeFileSync も試してください。適切なインターフェース、許容可能な比較速度、比較結果の良好なフィルタリング、異なる同期方法があります。フォルダー監視ツール(RealTimeSync)が付属しており、特定のフォルダー(またはフォルダー)またはその中のファイルが変更されたときにFreeFileSync(実際にはコマンドまたはスクリプト)を起動できます。本当に試してみる価値があります。
それに関する詳細情報 here または here 、ここで PPA もあります
彼らのページから、主な機能:
ファイルを(バイト単位または日付で)比較し、同期します。
制限なし:任意の数のファイルを同期できます。
Unicodeサポート。
ネットワークのサポート。
非常に長いファイル名(MAX_PATH = 260文字以上)の組み込みサポート。
削除されたファイルの伝播と競合検出のための同期データベース
個別の構成を持つ複数のフォルダーペアのサポート
Windows/LinuxシンボリックリンクおよびWindowsジャンクションポイントの完全サポート。
無駄のない簡単にアクセス可能なUI:速度と膨大なデータセットに対して高度に最適化されています。
C++で完全にコーディングされたアルゴリズム。
最大のパフォーマンスのために最適化されたすべての進行状況インジケーター!
GUIを使用して、または使用せずに自動同期を行うバッチジョブを作成します。
ユーザビリティに焦点を当てる:
UIに必要な機能のみ:オーバーロードされたメニューやアイコンジャングルはありません。
ドラッグアンドドロップですべてのフォルダーを選択します。
最後に使用した構成と画面設定は自動的に保存されます。
ドラッグアンドドロップ、ロードボタン、またはコマンドラインにより、さまざまな構成を維持およびロードします。
ダブルクリックして外部アプリケーションを起動します(Windowsエクスプローラーでファイルを表示するなど)
すべてのグリッドデータをテキストとしてコピーして貼り付けます
メイングリッドで不要なファイルまたは一時ファイルを直接削除します。
コンテキストメニューを右クリックします。
包括的なステータス情報とエラー報告
ファイルリストを名前、サイズ、または日付で並べ替えます。
4 GBを超えるファイルサイズのサポート。
ファイルを削除/上書きするのではなく、ごみ箱に移動するオプション。
デフォルトのフィルタを使用して、ディレクトリ「\ RECYCLER」および「\ System Volume Information」を無視します。 (Windowsのみ)
ローカライズされたバージョンは多くの言語で利用可能です。
コピー前に削除:大規模な同期ジョブのディスク容量不足を回避します。
同期からファイルを含める/除外するためのフィルター機能(再比較を必要としない!)。
特定のファイルを一時的に同期に含める/除外します。
FAT/FAT32ボリュームの夏時間の変更を自動的に処理します。
利用可能なポータブルバージョン(インストーラーで選択可能)。
ネイティブ64ビットバージョン。
FreeFileSync内から自動的に更新を確認します。
Windowsボリュームシャドウコピーサービスを使用してロックされたファイルをコピーします。 (Windowsのみ)
ディレクトリ名内にマクロ%time%、%date%を使用して定期的なバックアップを作成します
同期時にファイルとフォルダーの作成/アクセス/変更時間をコピーします
複数の同期プロセス(複数のライター、同じネットワーク共有など)を可能にする高度なロック戦略
削除したファイルを管理し、ごみ箱またはユーザーが指定したフォルダーに移動できるように追加します。不利な点を指摘すると、プログラムのドキュメントはWindowsではなくLinuxに焦点を当てています。しかし、それはうまく機能します。
Diffuseを使用できます:
Sudo apt-get install diffuse
diffuse file1 file2
meld を試すことができます。
これはリポジトリーであり、ファイルまたはフォルダーを比較するためのGUIを提供します。
Eclipse IDEは、比較するだけの場合は少し重量がありますが、他のことも含めて、それはうまく機能します。 2つのプロジェクト、パス、またはファイルを選択して互いに比較したり、ソース管理サーバーと同期したりできます。
私見FreeFileSyncは非常に優れており、Meldよりも便利です。高速で安定しており、コストのかかる同期を実行でき、比較の結果をcsvファイルにエクスポートすることもできます。
File_1.txt
Line1
Line2
File_2.txt
Line1
Line 2
コマンド cmp
を使用できます。
cmp -b "File_1.txt" "File_2.txt"
出力は
a b differ: byte 11, line 2 is 62 2 40
diff コマンドを使用できます:
diff -r --brief dir1 dir2
man diff
-r, --recursive
recursively compare any subdirectories found
-q, --brief
report only when files differ
クロスプラットフォーム、簡単、大騒ぎなし、プロファイル保存機能 Jfilesync 私の一番の選択