Paketleme yöneticisinin orijinali ve kendim tarafından değiştirilmiş özelleştirilmiş biri olan iki yapılandırma dosyasını hazırladım. Davranışı açıklamak için bazı yorumlar ekledim.
diffYorumları atlayarak yapılandırma dosyalarını nasıl çalıştırabilirim ? Yorumlanan bir satır şu şekilde tanımlanır:
- isteğe bağlı önde gelen boşluk (sekmeler ve boşluklar)
- karma işareti (
#) - başka bir karakter
İlk gereksinimi atlayan (en basit) düzenli ifade olacaktır #.*. GNU diff 3.0'ın --ignore-matching-lines=RE( -I RE) seçeneğini denedim , ancak o RE ile çalışmasını sağlayamadım. Ben de denedim .*#.*ve .*\#.*şans olmadan. Kelimenin tam anlamıyla (( Port 631) satırını REhiçbir şeyle eşleşmeyen şekilde koymak, RE'yi eğik çizgiler arasına koymak da yardımcı olmaz.
“Diff” aracında önerildiği gibi, regex'in tadı eksik mi? Denedim grep -G:
grep -G '#.*' file
Bu, yorumlarla eşleşiyor gibi görünüyor, ancak işe yaramadı diff -I '#.*' file1 file2.
Peki, bu seçenek nasıl kullanılmalı? diffBazı satırları nasıl atlayabilirim (benim durumumda, yorumlar)? Lütfen grepdosyayı önermeyi ve geçici dosyaları karşılaştırmayı önermeyin .
diff -Ibeklediğim gibi davranmıyor. Cevabımı bu davranışı benim için netleştiren bir örnekle güncelledim.
-ISeçenek bir blok halinde göz ardı edilmesine neden olur bütün onun satırları Regexp'i eşleşir. Böylece, yalnızca yorum yapmayan bir değişikliği görmezden gelebilirsiniz, ancak yorum yapmayan bir değişikliğe yakın olan yorum değişikliklerini değil.