Diff

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Yazdırılabilir sürüm artık desteklenmiyor ve görüntü oluşturma hataları olabilir. Lütfen tarayıcı yer işaretlerinizi güncelleyin ve bunun yerine varsayılan tarayıcı yazdırma işlevini kullanın.

Bilgisayar ile hesaplamada bir dosya karşılaştırma yardımcı programıdır ve iki dosya arasındaki farkları bulmaya yarar. Program metin dosyalarındaki her bir satırda yapılan değişiklikleri gösterir. Modern uygulamaları ikili (binary) dosyaları da destekler. Diff programının çıktısı diff ya da daha yaygın şekliyle -çıktıları patch adlı unix programı ile patch olarak uygulanabildiği için- patch olarak adlandırılır. Aynı zamanda diff bilgisayar dilinde dosya üzerindeki herhangi bir değişikliği hesaplama anlamında bir fiil olarak kullanılır.

Algoritma

Diff, en uzun altdizi problemlerini çözmek için kullanılır.

Bu örnekte iki dizi ögesi vardır:

       a b c d f g h j q z
       a b c d e f g i j k r x y z

burada aynı sıraya sahip özgün dizideki ifadenin en uzun dizi ögesini bulmak isteyelim. İlk dizideki bazı ögeleri silerek yeni bir dizi bulmak için ve ikinci dizide diğer ögeleri silerek bulalım. Ayrıca bu dizinin mümkün olduğunca uzun olmasını isteyelim. Bu durumda yeni dizi şöyle olur:

       a b c d f g j z

En uzun altdizinden sadece biraz farklı diff benzeri bir çıktı verir: eğer altdizideki bir öge bulunmazsa, faka tözgün dizide varsa, silinmelidir (aşağıdaki '–' işaretleri.) Eğer altdizinde bulunmazsa, fakat ikinci dizide varsa, oraya eklenmelidir ('+' işaretler.)

       e   h i   q   k r x y 
       +   - +   -   + + + +

İlgili maddeler

Kaynakça

Unix komutları (daha fazla)
Dosya dizgesi catcdchmodchgrpchowncksumcmp cpdddudf fsckfuserlnlslsattrlsofmkdirmountmvpwdrm rmdirsplittouchumask
Süreç ve görev yönetimi atchrootcroncrontabexitkillkillallnicepgreppidofpkillpspstreesleeptimetopwait
Kullanıcı ortamı envfingeridlognamemesgpasswdsusudouptimewwallwhowhoamiwrite
Metin işleme awkcommcsplitcutdiffedexfmtheadiconvjoinlessmorepastesedsortstringstailtalktruniqvivimwcxargs
Kabuk programlama aliasbasenamedirnameechoexprfalseprintftesttrueunset
Ağ Araçları inetdhostifconfignetcatnetstatnslookuppingrlogintraceroute
Arama findgreplocatewhereiswhich
Diğer aproposbannerbccalcleardateddfilehelphistoryinfolplprmanpaxsizeteetputtypeunamewhatisyes