Farklı dosyalar için dizinler nasıl dağıtılır ancak satır satır değil


16

İki dizinde farklı olan dosyaları yinelemeli olarak görmek istiyorum. Diff bunu yapabilir, ama istemediğim satır satır farkları gösterir. Bunu yapan bir araç veya Diff ile bunu yapmanın bir yolu var mı (man sayfasını okudum, hiçbir şey görmedim)?

Yanıtlar:


29

Ne dersin

diff -rq DIR1 DIR2

veya

diff -rqb DIR1 DIR2

-r özyinelemeli

-q kısaca ve dosyaların farklı olup olmadığını söyleyecektir (yani satır satır farklılıkları göstermeyecektir)

-b boşlukları yok sayar


1
-b beyaz boşluk değişikliklerini yoksayar. Kısa seçenek için -q veya --brief kullanın.
Doug Harris

Ve bunu daha yeni iptal ettim. Kısa seçeneği ilk kez denedim. Çok güzel çıktı - sadece hangi dosyaların farklı olduğunu değil aynı zamanda bir dizinde diğerinin değil hangi dosyaların olduğunu tanımlar.
Doug Harris

Teşekkürler Doug; Sanırım başlangıçta seçeneğim 180 derece döndürülmüştü. ;) Şimdi düzeltildi.
soymak

2

-qSeçeneği arıyorsunuz :

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b

1

Bunu yapmanın bir yolu,

diff dir1 dir1| grep "diff "

Yine de satır satır karşılaştırma yapacaktır, ancak her dosya karşılaştırması "diff dir1 / file dir2 / file" ile başlar, bu nedenle "diff" harfinin kullanılması yalnızca bu satırları gösterir (yani farklı dosyalar).


1

Emacs kullanıcısıysanız, ediff dizinlerini inceleyin. Dosya farklılıklarını görebilir ve sonra neden farklı olduklarını görmeniz gerekiyorsa satır satır farklılıkları inceleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.