Özet
diff3 [-3AaEeimTXx] [--diff-program program] [--strip-trailing-cr]
[-L | --label label1] [-L | --label label2] [-L | --label label3]
file1 file2 file3
diff3 [--help] [--version]
Açıklama
diff3, bir dosyanın üç farklı sürümünün (file1, file2 ve file3) içeriklerini karşılaştırır ve sonucu standart çıktıya yazar.
Seçenekler, ayrı sürümleri yeni bir dosyada birleştirmenin (merge) ve temizlemenin (purge) farklı yöntemlerini tanımlar. diff3, rcs(1) tarafından belirli sürümleri birleştirmek veya yeni sürümler oluşturmak için kullanılır.
Seçenekler
-3,--easy-only: Yalnızcafile3dosyasına özgü değişiklikleri içeren,ed(1)için uygun bir çıktı betiği üretir.-A,--show-all: Çakışmaları ayraç içine alarak tüm değişiklikleri çıktı olarak verir.-a,--text: Tüm dosyaları ASCII metni olarak ele alır.-E,--show-overlap:-eseçeneğine benzer, ancak örtüşen değişiklikleri farklı şekilde ele alır.-X:-xseçeneğine benzer, ancak örtüşen değişiklikleri farklı şekilde ele alır.-e,--ed:ed(1)için girdi betiği olarak kullanılmaya uygun biçimde çıktı üretir. Betik, üç dosya arasındaki ortak farkları vefile1ilefile3dosyalarına özgü farkları birleştirmek için kullanılabilir. Başka bir deyişle-e,file1vefile2dosyalarına özgü farklar ilefile2vefile3dosyalarına özgü farkları yoksayar; yalnızcafile2dosyasına özgü değişiklikleri geri almak için kullanışlıdır.--help: Kullanım bilgisini yazdırır ve çıkış yapar.-i:ed(1)betiğinewveqkomutlarını ekler.-L label,--label label:file1,file2vefile3dosya adları yerine yazdırılacak etiketleri tanımlar.-m,--merge: Biredbetiği oluşturmak yerine birleştirilmiş çıktıyı verir.-T,--initial-tab: Normal listelemede her satırın başında iki boşluk yerine sekme kullanır.ed(1)betiği üreten modlarda bu seçenek hiçbir şeyi değiştirmez.-x,--overlap-only: Yalnızca her üç sürüme de özgü olan değişiklikleri içeren,ed(1)için uygun bir çıktı betiği üretir.--diff-program program: Dosyaları karşılaştırmak için varsayılandiff(1)yerine belirtilen programı kullanır.--strip-trailing-cr: Girdi dosyalarındaki satır sonu satır başı (carriage return, CR) karakterlerini temizler.--version: Sürüm bilgisini yazdırır ve çıkış yapar.
-E ve -X, örtüşen değişiklikleri normal listede ==== ile işaretlenecek değişiklikler olarak ele alır. Her iki dosyadan gelen örtüşen satırlar, düzenleme betiği tarafından <<<<<<< ve >>>>>>> satırlarıyla sınırlandırılarak eklenir.
-E seçeneği, birleştirilmiş dosyalardaki örtüşen değişikliklerin korunmasını ve dikkat çekmesini sağlamak amacıyla RCS merge(1) tarafından kullanılır.
Örnek
file1 ve file2 dosyalarının her ikisinde de 7-8. satırların değiştirildiğini varsayalım. Aşağıdaki komutla oluşturulan düzenleme betiği:
diff3 -E file1 file2 file3
file1 dosyasına uygulandığında şu dosyayı oluşturur:
lines 1-6
of file1
<<<<<<< file1
lines 7-8
of file1
=======
lines 7-8
of file3
>>>>>>> file3
rest of file1
Varsayılan Çıktı
diff3 varsayılan olarak tüm dosyalar arasındaki farkları ve her dosya çiftine özgü farkları belirtir. Değişiklikler, ed(1) uygulamasının farklı sürümlerden istenen hedefi oluşturması için gereken komutlarla açıklanır. Komutların açıklaması için diff(1) sayfasına bakın.
====: Bu işaretin altındaki satırlar, tüm dosyalar arasında farklı olan satır aralıklarıdır.====n: Bu işaretin altındaki satırlar, yalnızcan. dosyada farklı olan satır aralıklarıdır.
Ayrıca Bakınız
diff(1), ed(1), sdiff(1)
Tarihçe
diff3 komutu ilk olarak Sürüm 7 AT&T UNIX içinde yer almıştır.
Hatalar
-e seçeneği, satırdaki ilk ve tek karakter olarak . içeren satırları yakalayamaz ve değiştiremez. Ortaya çıkan betik bu satırda başarısız olur çünkü . karakteri bir ed(1) düzenleme komutudur.