Diff Komutu Nedir?

diff komutu kısaca iki dosyayı satır satır karşılaştırıp farkları bulmanızı sağlar. 

söz dizimi

diff [OPTION] [FILES]

diff komutu kullanımı

Elimizde 2 tane dosya var. Bunların farklarını görelim ve aynı yapmaya çalışalım. İlk olarak iki dosyanın da içini görüntülüyorum.

Şimdi diff komutunu çalıştırarak iki dosyaya bakıyorum. 

diff demo1 demo2 

Her zaman dosya1 dosya2 ile aynı olmaya çalıştırılacaktır.

Şimdi yukarıdaki çıktıyı anlamaya çalışalım. İlk olarak çıktıdaki harflerin ne anlama geldiğine bakalım.

  • a harfi ekleme yapılması gerektiğini söylemektedir.
  • d harfi satırın silinmesini söylemektedir.
  • c harfi satırın diğer dosyadaki satır ile değiştirilmesi gerektiğini söylemektedir.
  1. Şimdi ilk satıra baktığımız zaman 1d0 yani demo1 dosyasının ilk satırında olan linux kelimesini silmemiz gerektiğini söylüyor. Çünkü dosya2 de linux kelimesi yok ve biz dosya2 ile aynı olmak istiyoruz.
  2. 5a5 kısmında ise demo1 dosyasının 5. satırına null kelimesinin eklenmesi gerektiğini söylüyor.
  3. 7c7,8 ise demo2 dosyasındaki 7. ve 8. satırların alt alt demo1 dosyasında 7. ve 8. satır ile değiştirilmesi gerektiğini söylüyor

Şimdi dosyalar bir editör ile açarak yukarıdaki çıktıyı anlayarak söylenenleri yapıyorum ve komutu tekrar çalıştırıyorum.

diff demo1 demo2 

Büyük küçük harf duyarlılığını ortadan kaldırmak isterseniz -i seçeneğini ekleyebilirsiniz.

Yukarıdaki örnekte hiç bir seçenek kullanmadan komutu çalıştırmıştık. Şimdi -c seçeneği ile dosyayı context formatta inceleyelim.

diff -c demo1 demo2 

Şimdi yukarıdaki çıktıyı anlamaya çalışalım. İlk dosyanın 11 satır ve ikinci dosyanın 10 satır olduğunu çıktıda bize söylüyor. İlk olarak çıktıdaki karakterlerin ne anlama geldiğine bakalım.

  • + harfi ekleme yapılması gerektiğini söylemektedir.
  • - harfi satırın silinmesini söylemektedir.
  • ! harfi satırın diğer dosyadaki satır ile değiştirilmesi gerektiğini söylemektedir.
  1. Demo1 dosyasından 1. satırı (linux)  siliyorum.
  2. Demo2 dosyasında ki 3. satırı kopyalayıp demo1 dosyasındaki 3. satır ile değiştiriyorum.
  3. Demo1 dosyasındaki 6. satırı (mehmet) siliyorum.
  4. Demo2 dosyasındaki 10. satırı (türkiye2) demo1 dosyasının 10. satırına ekliyorum.

Son olarak -u seçeneği ile dosyaları unified formatta da inceleyelim. Bu formatta ise iki dosyayı birleştirip gösteriyor. En basit şekliyle bu şekilde düzeltebiliriz. İlk dosya yani demo1 dosyasını açıp çıktıya göre ilgili yerlere ekleyip, silip ve değiştirmeniz yeterli olacaktır. 

  1. 1453 kelimesini sil.
  2. null kelimesini sil.
  3. urfa kelimesini sil.
  4. null kelimesini ekle
  5. urfaa kelimesini ekle
  6. kırşehir kelimesini sil.
  7. kırşehirr kelimesini ekle.
  8. 1299 kelimesini ekle.
Blog'a Dön