Beyond Compareがウィンドウに対して行うような、ディレクトリとファイルを比較するものを探しています。
主にソース管理を使用するためですが、デプロイにも使用する必要があります。
Beyond Compareがウィンドウに対して行うような、ディレクトリとファイルを比較するものを探しています。
主にソース管理を使用するためですが、デプロイにも使用する必要があります。
回答:
Meldは、ファイルとディレクトリを比較およびマージできるツールです。これは、標準ツールdiff
およびpatch
コマンドラインツールに類似したGUI です。(これらの詳細については、man diffおよびman patchを参照してください)
beyond compare
ます。以下を参照してください。メルド私見より優れている
Diffはあなたの友達です。
diff -ur path1 path2
これにより、path1とpath2の間で共通するすべてのファイルが比較されます。
に変更-ur
する-urN
と、いずれかのパスにのみ存在するファイルの内容も表示されます。
colordiff
および使用colordiff -ur path1 path2
「Beyond Compare」はLinuxでも利用可能です。
ダウンロードURLを確認してください:http : //www.scootersoftware.com/download.php
このブログエントリに触発されました。
さまざまなファイルのリスト:
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をサポートしています。
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
この比較を行う良い方法は、「md5sum」で「find」を使用し、次に「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/
宜しくお願いします!
FreeFileSyncも試してください。適切なインターフェース、許容可能な比較速度、比較結果の良好なフィルタリング、異なる同期方法があります。フォルダー監視ツール(RealTimeSync)が付属しており、特定のフォルダー(またはフォルダー)またはその中のファイルが変更されたときにFreeFileSync(実際にはコマンドまたはスクリプト)を起動できます。本当に試してみる価値があります。
それについての詳細情報ここやここに、あなたが持っている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%を使用して定期的なバックアップを作成します
同期時にファイルとフォルダーの作成/アクセス/変更時間をコピーします
複数の同期プロセス(複数のライター、同じネットワーク共有など)を可能にする高度なロック戦略
削除されたファイルを管理し、ごみ箱またはユーザーが指定したフォルダーに移動できるように追加します。不利な点を指摘すると、プログラムのドキュメントは、LinuxではなくWindowsにかなり重点を置いています。しかし、それはうまく機能します。
クロスプラットフォーム、簡単、大騒ぎなし、プロファイル保存機能により、Jfilesyncが一番の選択肢になります
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