Saya telah menambahkan alias git untuk memberi saya jumlah baris file tertentu dalam riwayat saya:
[alias]
lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc
Namun, wc -l
melaporkan beberapa total, sehingga jika saya memiliki lebih dari ~ 100 ribu baris, itu melaporkan total untuk mereka, kemudian pindah. Ini sebuah contoh:
<100rb baris (output yang diinginkan)
$ 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 garis (harus pipa ke grep "total"
)
$ git lines \*.cs | grep "total"
123569 total
107700 total
134796 total
111411 total
44600 total
Bagaimana cara mendapatkan total sebenarnya wc -l
, bukan serangkaian subtotal?
wc
mendukung --files0-from
opsi? Maka Anda bisa melakukannya{ git ls-files -z ${1} | wc -l --files0-from=- ; }
wc: unrecognized option '--files0-from=-'
xargs
, bukanwc
. Saya masih tertarik dengan cara memperbaikinya, dan saya tidak melihat solusi yang baik dalam jawabannya.