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.
diff
Yorumları 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ı RE
hiç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ı? diff
Bazı satırları nasıl atlayabilirim (benim durumumda, yorumlar)? Lütfen grep
dosyayı önermeyi ve geçici dosyaları karşılaştırmayı önermeyin .
diff -I
beklediğim gibi davranmıyor. Cevabımı bu davranışı benim için netleştiren bir örnekle güncelledim.
-I
Seç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.