Bu noktanın anlaşılması önemlidir, çünkü diff komutu dosyalar arasındaki farkları yazdırır, bunları satır satır ayrıştırır veya dosyaları çıktılarda eşit hale getirmek için gereken değişiklikleri tekrar tekrar kullanıcıya bildirir. Bu öğretici, diff komutuna odaklanmaktadır.
Başlamadan önce, herhangi bir metin düzenleyici kullanarak aynı içeriğe sahip iki dosya oluşturun (bu eğitimde nano kullanılmıştır):
İçeriden macun:
LinuxHint yayınlar. en iyisi. sizin için içerik.
matbaa kontrol+x ve kaydetmek ve çıkmak için Y.
Aynı içeriğe sahip diffsample2 adlı ikinci bir dosya oluşturun:
hayır: Boşluklara ve sekmelere dikkat edin, dosyalar %100 eşit olmalıdır.
matbaa kontrol+x ve kaydetmek ve çıkmak için Y.
# fark farklı örnek 1 farklı örnek 2
Gördüğünüz gibi çıktı yok, zaten senkronize oldukları için dosyaları senkronize etmek için herhangi bir şey yapmanıza gerek yok.
Şimdi bazı değişiklikler yapmak için diffsample2 dosyasını düzenleyelim:
“İçerik” kelimesini “ipuçları” olarak değiştirelim:
matbaa kontrol+x e s kaydetmek ve çıkmak için
Şimdi koş:
# fark farklı örnek 1 farklı örnek 2
Çıktıyı görelim:
Yukarıdaki çıktı, “3c3”, “ilk dosyanın 3. satırının, ikinci dosyanın 3. satırıyla değiştirilmesi gerektiği” anlamına gelir. Çıktının kolay kısmı, 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 birinci dosyaya değil ikinci dosyaya başvurduğunu söyler, dolayısıyla birinci dosyanın üçüncü satırı (ilk 3) ikinci dosyanın (C) üçüncü satırına (ikinci satır) değiştirilmelidir. 3).
diff komutu 3 karakter görüntüleyebilir:
A: Bu karakter talimat verir onlar değişir Bitirmelisin.
a: Bu karakter bir şeyin olması gerektiğini söylüyor ek olarak.
NS: Bu karakter bir şeyin olması gerektiğini söylüyor silindi.
Harflerden önceki ilk sayılar birinci dosyaya, harflerden sonraki sayılar ise ikinci dosyaya aittir.
Kod aittir <إلى الملف الأول والرمز> Referans olarak kullanılan ikinci dosyaya aittir.
Çalıştırmak yerine dosya sırasını tersine çevirelim
# fark farklı örnek 1 farklı örnek 2
Olmak:
# fark farklı örnekler 2 farklı örnekler 1
Sıranın nasıl tersine çevrildiğini görebilirsiniz ve şimdi diffsample1 referans olarak kullanılıyor ve bize “Sizin için ipuçları”nı “Sizin için içerik” olarak değiştirmemizi söylüyor, bu bir önceki çıktıydı:
Şimdi diffsample1 dosyasını şu şekilde değiştirelim:
İlk satır hariç diffsample1’deki tüm satırları kaldırın. O zaman koş:
# fark farklı örnekler 2 farklı örnekler 1
Gördüğünüz gibi diffsample1 dosyasını referans olarak kullandığımız için tam senkronizasyon için diffsample2 dosyasını silmemiz gerekiyor (NS(ikinci ve üçüncü satırlar)2,3) ilk dosyadaki ve ilk satırdaki gibi (1) eşit olacaktır.
Şimdi sırayı tersine çevirelim ve yerine “# difförnek2 difförnek1 ” Olmak:
# fark farklı örnek 1 farklı örnek 2
Gördüğünüz gibi, önceki örnek bize çıkarmamızı söylerken, bu bize (a(ilk dosyanın ilk satırından sonraki 2. ve 3. satırlar)1).
Şimdi bu programın büyük/küçük harfe duyarlı özelliği üzerinde çalışalım.
diffsample2 dosyasını aşağıdaki gibi düzenleyin:
ve diffsample1’i şu şekilde düzenleyin:
Tek fark, diffsample2 dosyasındaki büyük harflerdir. Şimdi tekrar diff kullanarak karşılaştıralım:
# fark farklı örnek 1 farklı örnek 2
Gördüğünüz gibi bulunan farklar farklı, büyük harf duyarlılığını önemsemediğimiz sürece büyük harfler ekleyerek farkın büyük yazılmasını engelliyoruz. Kahve Salatalık:
# farkKahve farklı örnek 1 farklı örnek 2
Fark bulunamadı, durum tespiti devre dışı bırakıldı.
Şimdi seçeneği ekleyerek çıktı biçimini değiştirelim -u Birleştirilmiş çıktıları yazdırmak için kullanılır:
Ayrıca tarih ve saat çıktısı bir dosyadır. – e + Simge dosyalarını eşit hale getirmek için nelerin kaldırılması ve nelerin eklenmesi gerekiyor.
Bu yazının başında boşluk ve sekmelerin her iki dosyada da eşit olması gerektiğini söylemiştim çünkü onlar da diff komutu tarafından algılanıyor, diff komutunun boşlukları ve sekmeleri yok saymasını istiyorsak NS uygulamamız gerekecek. -w Salatalık.
diffsample2’yi açın ve boşluklar ve sekmeler ekleyin:
Gördüğünüz gibi ikinci satırda “best” ten sonra birkaç sekme ekledim ve ayrıca tüm satırlardaki boşlukları kapattım, dosyayı kapatın, kaydedin ve çalıştırın:
# fark farklı örnek 1 farklı örnek 2
Gördüğünüz gibi büyük harflere ek olarak farklılıklar da bulunuyor. Şimdi seçeneği uygulayalım -w Ekiplere boşlukları yok saymalarını söylemek için:
Gördüğünüz gibi, fark tablodan sadece büyük harf farkı olarak bulunur.
Şimdi tekrar -i seçeneğini ekleyelim:
#fark-çiş farklı örnekler 2 farklı örnekler 1
diff komutu, yoksay, çıktıyı değiştir, mevcut olduğunda sütunları vurgula vb. Uygulama için düzinelerce seçeneğe sahiptir. Man komutunu veya in komutunu kullanarak bu seçenekler hakkında ek bilgi alabilirsiniz. http://man7.org/linux/man-pages/man1/diff.1.html. Umarım Linux’taki farklı komut örnekleriyle bu makaleyi faydalı bulmuşsunuzdur. Daha fazla Linux ve ağ iletişimi ipucu ve güncellemesi için LinuxHint’i takip etmeye devam edin.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın