Tüm dosyaları iki klasörde tek bir komutta md5sum aracılığıyla karşılaştırmaya çalışıyorum. Bazı Debian aşağıdaki (bash) gibi:
$ cd ~/FOLDER1
$ md5sum ~/FOLDER2/* | md5sum -c -
Buradaki fikir, ilk md5sum'dan gelen karma çıktısının ikinciye aktarılması ve girdi dosyası olarak kullanılmasıdır. Bununla birlikte, bunun test edilmesi FOLDER2'deki her bir dosyayı yalnızca kendiyle karşılaştırdığını ve her biri için "Tamam" ı döndürdüğünü gösterir. Bunun çalışmamasının sebebinin, ilk md5sum'dan çıkan dosya adlarının tam yolu içermesi olduğunu düşünüyorum. Baktım md5deep
ama orada bana yardım edecek hiçbir şey bulamadım. Bir klasör için md5sum yapmanın, sonuçları bir dosyaya yazmanın ve ikinci md5sum için girdi olarak kullanmanın mümkün olduğunu biliyorum. İki komut kullanmak ve bir dosya yazmak yerine, hepsini bir satırda bir satırda yapmak istiyordum.
Düzenleme: Burada (kullanarak diff
) kabul edilen cevap istediğimi yapabilir, ancak diff
(doğru) ikili dosyaları karşılaştırır mı bilmiyorum .
Düzenleme: md5sum kullanarak kullanmak istediğim çıktıyı aldım (dosya adını ve "Tamam" ı gösterir), bir toplu iş dosyası yazmaya başladım. İle yürütün diffFolders.sh ~/FOLDER1 ~/FOLDER2
.
#!/bin/bash
HERE=$PWD
cd "$1"
md5sum * > /tmp/md5sum.cmp
cd "$2"
md5sum -c /tmp/md5sum.cmp
cd $HERE
Bu komut dosyası yalnızca içinde bulunan dosyaları karşılaştırır ~/FOLDER
. Eğer ~/FOLDER2
ek dosyalar varsa , bunlar karşılaştırılmayacak ve çıktılar bile var olduklarını göstermeyecektir.
diff
, bu beni biraz zaman aldı :) Debian'da komutmd5sum
ve gerçek karma sütun 1'de.