Geçmişimdeki belirli dosyaların satır sayısını vermek için bir git takma adı ekledim:
[alias]
lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc
Bununla birlikte, wc -l
~ 100 bin satırdan fazla satırım varsa, toplamları rapor eder, ardından devam eder. İşte bir örnek:
<100k satır (istenen çıktı)
$ git lines \*.xslt
46 packages/NUnit-2.5.10.11092/doc/files/Summary.xslt
232 packages/NUnit-2.5.10.11092/samples/csharp/_UpgradeReport_Files/UpgradeReport.xslt
278 total
> 100k hat (boru hattı yapmak zorunda kaldı grep "total"
)
$ git lines \*.cs | grep "total"
123569 total
107700 total
134796 total
111411 total
44600 total
wc -l
Bir dizi alt toplamdan değil, gerçek bir toplamı nasıl alabilirim ?
wc
destekliyor --files0-from
mu? O zaman yapabilirsiniz{ git ls-files -z ${1} | wc -l --files0-from=- ; }
wc: unrecognized option '--files0-from=-'
xargs
değilwc
. Hala nasıl düzeltileceğiyle ilgileniyorum ve cevaplarda iyi bir çözüm göremiyorum.