Özet
diffstat [options] [file-specifications]
Açıklama
diffstat, diff çıktısını okur ve dosya başına ekleme, silme ve değişikliklerin histogramını görüntüler. Büyük ve karmaşık yama dosyalarını incelemek için yararlıdır.
diffstat, diff çıktısı içeren bir veya daha fazla girdi dosyasını okuyarak, atıfta bulunulan her dosya için değiştirilen toplam satır sayısının histogramını üretir.
Girdi dosya adı .bz2, .gz, .lzma, .xz, .z veya .Z ile bitiyorsa, diffstat sıkıştırılmamış veriyi ilgili programdan bir boru hattı aracılığıyla okur. Standart girdi üzerinden borulanan dosyaların sıkıştırma türünü de tahmin edebilir.
Komut satırında hiçbir dosya adı belirtilmemişse, diffstat farkları standart girdiden okur.
Tanınan Diff Biçimleri
diffstat, diff aracının en yaygın çıktı türlerini tanır:
unified:patchyardımcı programı tarafından tercih edilir.context: Okunabilirlik açısından en iyisidir, ancak çok kompakt değildir.default: Çok kullanışlı değildir, ancak üretilmesi kolaydır.
diffstat, hangi dosyaların karşılaştırıldığını anlamak için diff tarafından üretilen satırları tespit eder. Ardından ilk sütundaki değişiklik türünü belirten işaretçileri sayar. Bunlar histogramda +, - ve ! karakterleriyle gösterilir.
Seçenekler
-b: Diff içindekiBinary files XXX and YYY differile eşleşen satırları yoksayar.-c: Çıktının her satırının önüne#ekleyerek kabuk betikleri için yorum satırı haline getirir.-C: Histogramı vurgulamak için SGR renk kaçış dizileri ekler.-D destination: Farkların uygulanması sonucunda ortaya çıkan ve referans olarak gösterilebilecek dosyaları içeren dizini belirtir.diffstat, her dosyadaki toplam satır sayısını elde etmek için, adları-pseçeneğiyle ayarladıktan sonra, ilgili dosyalardaki satırları sayar.-d: Hata ayıklama çıktısı üretir. Çok miktarda bilgi yazdırır. Normalde derleme sırasında dahil edilir, ancak bastırılabilir.-e file: Standart hatayıfiledosyasına yönlendirir.-E: Farkları ayrıştırmadan önce her satırdaki ANSI kaçış dizilerini ayıklar. Bu,diffstataracınıncolordiffile birlikte kullanılmasına olanak tanır.-f format: Histogram biçimini belirtir.-h: Kullanım mesajını yazdırır ve çıkar.-k: Raporda dosya adlarının birleştirilmesini bastırır.-K: Sonuçta elde edilen dosya kümesinde eşleşme arayarak ve dosyanın eklenip eklenmediğini veya kaldırılıp kaldırılmadığını tahmin ederek "yalnızca" dosyalarının açıklamasını iyileştirmeye çalışır.-l: Yalnızca dosya adlarını listeler. Histogram oluşturulmaz.-m: Değiştirilen satırların yaklaşık sayısını elde etmek için yama dosyasının her parçasındaki ekleme ve silme sayılarını birleştirir.-n number: Dosya adları için kullanılacak minimum genişliği belirtir. Belirtilmezsediffstat, ortak ön ekleri ayıkladıktan sonraki en uzun dosya adının uzunluğunu kullanır.-N number: Dosya adları için kullanılacak maksimum genişliği belirtir. Bu sınırdan daha uzun adlar soldan kesilir. Belirtilmezsediffstatbir sonraki adımda-nseçeneğini kontrol eder.-o file: Standart çıktıyıfiledosyasına yönlendirir.-p number: Ortak yol adlarını ayıklayan mantığı geçersiz kılarakpatch -pseçeneğini simüle eder.-q: Boş diff'ler için0 files changedmesajını bastırır.-r code: Veriyi kırpmak yerine histogramda gösterilen değerlerin isteğe bağlı olarak yuvarlanmasını sağlar.-R: Yamanın, eski ve yeni dosyalar yer değiştirilerek oluşturulduğunu varsayar.-s: Yalnızca özet satırını gösterir; örneğin ekleme ve silme sayısını.-S source:-Dseçeneği gibidir, ancak orijinal dosyaların, yani farklar uygulanmadan önceki hallerinin, bulunabileceği konumu belirtir.-t: Histogramı geçersiz kılar ve her dosya için farklarda bulunan değiştirilen satır sayılarını virgülle ayrılmış değerler olarak üretir: eklenen, silinen ve değiştirilen.-T: Yol adı ile histogram arasında,-tseçeneğinin göstereceği sayıları yazdırır.-u: Raporda dosya adlarının sıralanmasını bastırır.-v: İlerlemeyi gösterir. Örneğin çıktı bir dosyaya yönlendirilmişse, standart hataya ilerleme mesajları yazar.-V: Mevcut sürüm numarasını yazdırır ve çıkar.-w number: Histogramın maksimum genişliğini belirtir. Dosya adlarının çok büyümesi ihtimaline karşı histogram hiçbir zaman 10 sütundan daha kısa olmaz.
-D kullanıldığında, değiştirilen ve silinen satırlar çıkarıldıktan sonra kalan kısım "değişmemiş satırlar" olarak gösterilir.
-K seçeneği, diffstat yalnızca sonuçta elde edilen dosya kümesini tuttuğundan şu anda -R ile birlikte çalışmaz.
-p seçeneği verilmezse, diffstat farkları inceler ve yol adlarından ortak ön eki ayıklar. patch programının yaptığı şey bu değildir.
-S veya -D seçenekleri verilmişse, -t çıktısında değişiklik sayılarından önce değişmemiş satırların sayısı gelir.
-T çıktısındaki değişiklik sayısının genişliği en büyük değer tarafından belirlenir, ancak en az 3'tür. -w seçeneğinde verilen genişlik, bu sayıların genişliğinden ayrıdır.
-w için varsayılan değer, çıktı bir terminale yapılmadığı sürece 80 sütundur. Çıktı terminale yapılıyorsa varsayılan genişlik terminalin genişliğidir.
Biçim Değerleri
-f format için desteklenen değerler:
0: Ekleme (+), silme (-) veya değişikliklerin (!) her biri için yalnızca değeri ve tek bir histogram kodunu gösteren kısa çıktı üretir.1: Normal çıktı üretir.2: Histogramı noktalarla doldurur.4: Her değeri histogramla birlikte yazdırır.
Sıfır dışındaki herhangi bir değer histogram üretir. Noktalar ve bireysel değerler birleştirilebilir; örneğin -f6 ikisini de verir.
Yuvarlama Değerleri
-r code için desteklenen değerler:
0: Varsayılan değerdir. Yuvarlama yapılmaz, ancak biriken hatalar sonraki sütunlara eklenir.1: Verileri yuvarlar.2: Verileri yuvarlar ve farklar varsa, bu farklar normalde sıfıra yuvarlanacak olsa bile histogramın bir şeyler göstermesini sağlamak için histogramı ayarlar.
Ortam
diffstat, POSIX ortamında çalışır.
İlgili isimlerine karşılık gelen ortam değişkenlerini ayarlayarak, girdi dosyalarını açmak için kullanılan programların derlenmiş yolları geçersiz kılınabilir:
DIFFSTAT_BZCAT_PATHDIFFSTAT_BZIP2_PATHDIFFSTAT_COMPRESS_PATHDIFFSTAT_GZIP_PATHDIFFSTAT_LZCAT_PATHDIFFSTAT_PCAT_PATHDIFFSTAT_UNCOMPRESS_PATHDIFFSTAT_XZ_PATHDIFFSTAT_ZCAT_PATH
Ancak diffstat, sonuçta elde edilen programın aynı komut satırı seçeneklerini kullandığını varsayar; örneğin standart çıktıya açmak için -c seçeneğini kullanması gerekir.
Dosyalar
diffstat, yardımcı dosya kullanmayan tek bir ikili modüldür.
Hatalar
diffstat, diff çıktısının biçimi hakkında birçok varsayımda bulunur.
Hiçbir seçenek olmadan iki dosya arasındaki standart diff çıktısından dosya adı elde etmenin bir yolu yoktur. Bağlam diff'leri ve birleşik diff'ler çalışır.
Değiştirilen satırların "öncesi" ve "sonrası" görünümleri arasındaki çakışma derecesini belirlemenin kolay bir yolu yoktur. diffstat, -m seçeneği için değiştirilen satırları yaklaşık olarak hesaplamak üzere yalnızca eklenen ve silinen satırların sayısını sayar.
Ayrıca Bakınız
diff(1), patch(1)
Yazar
Thomas Dickey <dickey@invisible-island.net>.
DIFFSTAT(1)