← man/text
diff3 — man diff3 — 80×24
ugur@toprak:~/man/text$man diff3
Bölüm 1 Metin İşleme

diff3

diff3 — macOS komut satırı aracı.

İsim

diff3 – 3 yollu diferansiyel dosya karşılaştırması

Sözdizimi

     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 yardımcı programı, 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 açıklar. 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 aşağıdaki gibidir:

-3, --easy-only Sadece file3 dosyası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 olarak ele alır.

-E, --show-overlap

  • -X: Sırasıyla -e ve -x seçeneklerine benzer, ancak örtüşen değişiklikleri (yani normal listede ==== ile işaretlenecek değişiklikleri) farklı şekilde ele alır. Her iki dosyadan gelen örtüşen satırlar, "<<<<<<" ve ">>>>>>" satırları ile sınırlandırılarak düzenleme betiği (edit script) tarafından eklenecektir.

-e, --ed ed(1) yardımcı programı için bir girdi betiği olarak kullanılmaya uygun bir biçimde çıktı üretir. Betik daha sonra, üç dosya arasındaki ortak farkları ve file1 ile file3 dosyalarına özgü farkları birleştirmek için kullanılabilir. Diğer bir deyişle, -e seçeneği file1 ve file2'ye özgü farklar ile file2 ve file3'e özgü farkları yoksayar. Yalnızca file2 dosyasına özgü değişiklikleri geri almak için yararlıdır.

  • --help: Kullanım bilgilerini yazdırır ve çıkış yapar.

  • -i: ed(1) yardımcı programının 'w' ve 'q' komutlarını ekler.

-L, --label file1, file2 ve file3 dosya adları yerine yazdırılacak etiketleri tanımlar.

-m, --merge Bir ed betiği oluşturmak yerine birleştirilmiş çıktıyı verir.

-T, --initial-tab Normal listelemede, her satırın başında iki boşluk yerine bir sekme (tab) kullanır. ed(1) betiği üreten modlarda bu seçenek hiçbir şeyi değiştirmez.

-x, --overlap-only Sadece 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ılan diff(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 bilgilerini yazdırır ve çıkış yapar.

-E seçeneği, birleştirilmiş dosyalardaki örtüşen değişikliklerin korunmasını ve birinin dikkatine sunulmasını sağlamak amacıyla RCS merge(1) tarafından kullanılır.

Örneğin, 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ğinin

$ diff3 -E file1 file2 file3

file1 dosyasına uygulanması şu dosyayı oluşturur:

lines 1-6 of file1 <<<<<<< file1 lines 7-8 of file1

lines 7-8 of file3

file3 rest of file1

diff3 yardımcı programının varsayılan çıktısı, tüm dosyalar arasındaki farkları ve her dosya çiftine özgü olan farkları not eder. 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ızca n. 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 olacaktır çünkü ‘.’ karakteri bir ed(1) düzenleme komutudur.

macOS 26.4 23 Haziran 2022 macOS 26.4