Ho aggiunto un alias git per darmi il conteggio delle righe di file specifici nella mia cronologia:
[alias]
lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc
Tuttavia, wc -l
sta segnalando più totali, in modo tale che se ho più di ~ 100k righe, segnala il totale per loro, quindi continua. Ecco un esempio:
<100k linee (output desiderato)
$ 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 linee (ha dovuto eseguire il pipe grep "total"
)
$ git lines \*.cs | grep "total"
123569 total
107700 total
134796 total
111411 total
44600 total
Come posso ottenere un totale reale da wc -l
, non una serie di subtotali?
wc
supporta l' --files0-from
opzione? Quindi puoi fare{ git ls-files -z ${1} | wc -l --files0-from=- ; }
wc: unrecognized option '--files0-from=-'
xargs
, nonwc
. Sono ancora interessato a come risolverlo e non vedo una buona soluzione nelle risposte.