Linux Komutları

Linux'ta diff Komut Örnekleri

Linux'ta diff Komut Örnekleri
diff komutu, dosyalar arasındaki farkları yazdıran, satır satır veya dizinleri özyinelemeli olarak analiz ederken, kullanıcıya dosyaları eşitlemek için hangi değişikliklerin gerekli olduğunu bildiren bir analiz veya bilgilendirici komuttur, bu nokta diff çıktılarını anlamak için önemlidir. Bu öğretici, diff komutuna odaklanır.

Başlamadan önce, aynı içeriğe sahip herhangi bir metin düzenleyiciyi (bu eğitimde nano kullanılır) kullanarak iki dosya oluşturun:

# nano fark örneği1

İçinde macun:

 LinuxHint sizin için en iyi içeriği yayınlar 

Basın CTRL+X ve kaydetmek ve çıkmak için Y.

Aynı içeriğe sahip diffsample2 adlı ikinci bir dosya oluşturun:

# nano fark örneği2

Not: boşluklara ve sekmelere dikkat edin, dosyalar %100 eşit olmalıdır.

Basın CTRL+X ve kaydetmek ve çıkmak için Y.

# diff difförnek1 difförnek2

Gördüğünüz gibi çıktı yok, dosyaları eşitlemek için bir şey yapmanıza gerek yok çünkü zaten eşitler.

Şimdi biraz değişiklik yapmak için diffsample2 dosyasını düzenleyelim:

# nano fark örneği2

O zaman “ipuçları” için “içerik” kelimesini değiştirelim:

Basın CTRL+X ve Y kaydetmek ve çıkmak için.

Şimdi çalıştırın:

# diff difförnek1 difförnek2

Çıktıyı görelim:

Yukarıdaki çıktı, “3c3”, “İlk dosyanın 3. satırı, ikinci dosyanın 3. satırı ile değiştirilmelidir” anlamına gelir. Çıktının kolay tarafı, bize hangi metnin değiştirilmesi gerektiğini göstermesidir (“senin için içerik" için "senin için ipuçları”)

Bu bize diff komutunun referansının ilk dosya değil ikinci olduğunu gösterir, bu yüzden ilk dosyanın üçüncü satırı (ilk 3) ikinci dosyanın üçüncü satırı (ikinci 3) olarak değiştirilmelidir (C).

diff komutu 3 karakter gösterebilir:

c: bu karakter bir talimat verir Değişiklik bitmiş olmalı.
bir: bu karakter bir şeyin olması gerektiğini söyler Katma.
g: bu karakter bir şeyin olması gerektiğini söyler silindi.

Karakterlerden önceki ilk sayılar ilk dosyaya, karakterlerden sonraki sayılar ikinci dosyaya aittir.

Sembol < belongs to the first file and the symbol > referans olarak kullanılan ikinci dosyaya.

Çalıştırmak yerine dosya sırasını tersine çevirelim

# diff difförnek1 difförnek2

Çalıştırmak:

# diff difförnek2 difförnek1

Sıranın nasıl tersine çevrildiğini ve şimdi diffsample1 dosyasının referans olarak kullanıldığını görebilirsiniz ve bize "sizin için ipuçları"nı "sizin için içerik" için değiştirmemizi söylüyor, bu önceki çıktıydı:

Şimdi diffsample1 dosyasını şu şekilde düzenleyelim:

diffsample1 dosyasındaki ilk satır hariç tüm satırları kaldırın. O zaman koş:

# diff difförnek2 difförnek1

Gördüğünüz gibi, diffsample1 dosyasını referans olarak kullandığımızdan, diffsample2 dosyasını tam olarak eşitlemek için silmemiz gerekiyor (d) satır iki ve üç (2,3) ilk dosyadaki ve ilk satırlardaki gibi (1) eşit olacak.

Şimdi sırayı tersine çevirelim ve çalıştırmak yerine “# diff difförnek2 difförnek1” Çalıştırmak:

# diff difförnek1 difförnek2

Gördüğünüz gibi, önceki örnek bize kaldırmamızı söylerken, bu örnekte (bir) ilk dosyanın ilk satırından sonra 2. ve 3. satırlar (1).

Şimdi bu programın büyük/küçük harf duyarlı özelliği üzerinde çalışalım.

diffsample2 dosyasını aşağıdaki gibi düzenleyin:

Ve diffsample1 dosyasını şu şekilde düzenleyin:

Tek fark, diffsample2 dosyasındaki büyük harflerdir. Şimdi tekrar diff kullanarak karşılaştıralım:

# diff difförnek1 difförnek2

Gördüğünüz gibi, büyük harflerin farkları, büyük harflerin farkını ekleyerek, büyük küçük harfe duyarlı olmakla ilgilenmiyorsak, farkın büyük harf algılamasını önlüyoruz -ben seçenek:

# diff -i diffsample1 diffsample2

Fark bulunamadı, vaka tespiti devre dışı bırakıldı.

Şimdi seçeneği ekleyerek çıktı biçimini değiştirelim -sen birleşik çıktıları yazdırmak için kullanılır:

Ek olarak, tarih ve saat için çıktı bir - ve + sembol dosyaları eşit hale getirmek için nelerin kaldırılması ve nelerin eklenmesi gerektiği.

Bu makalenin başında, her iki dosyada da boşlukların ve sekmelerin eşit olması gerektiğini söyledim, çünkü bunlar da diff komutu tarafından algılanır, eğer komutun boşlukları ve sekmeleri yok saymasını istiyorsak, uygulamamız gerekir -w seçenek.

diffsample2 dosyasını açın ve boşluklar ve sekmeler ekleyin:

Gördüğünüz gibi, ikinci satırdaki “en iyi” den sonra birkaç sekme ekledim ve ayrıca tüm satırlarda boşluklar ekledim, dosyayı kapatın, kaydedin ve çalıştırın:

# diff difförnek1 difförnek2

Gördüğünüz gibi büyük harflere ek olarak farklılıklar bulundu. Şimdi seçeneği uygulayalım  -w diff'e boşlukları yok saymasını söylemek için:

Gördüğünüz gibi tabloya rağmen fark sadece büyük harfler fark olarak bulundu.
Şimdi -i seçeneğini tekrar ekleyelim:

#diff  -wi diffsample2 diffsample1

Komut diff, yoksaymak, çıktıyı değiştirmek, mevcut olduğunda sütunları ayırt etmek vb. için uygulanacak düzinelerce kullanılabilir seçeneğe sahiptir. man komutunu kullanarak veya adresinden bu seçenekler hakkında ek bilgi alabilirsiniz http://man7.org/linux/man-pages/man1/diff.1.html. Umarım Linux'ta farklı Komut Örnekleri içeren bu makaleyi faydalı bulmuşsunuzdur. Linux ve ağ iletişimi hakkında daha fazla ipucu ve güncelleme için LinuxHint'i takip etmeye devam edin.

Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...