履歴内の特定のファイルの行数を示すためにgitエイリアスを追加しました:
[alias]
lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc
ただし、wc -l複数の合計を報告しているため、10万行を超える行がある場合は、それらの合計を報告してから先に進みます。次に例を示します。
<100k行(望ましい出力)
$ 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行(にパイプする必要がありましたgrep "total")
$ git lines \*.cs | grep "total"
 123569 total
 107700 total
 134796 total
 111411 total
  44600 total
wc -l一連の小計ではなく、から真の合計を取得するにはどうすればよいですか?
wcサポートしてい--files0-fromますか?その後、次のことができます{ git ls-files -z ${1} | wc -l --files0-from=- ; }
                wc: unrecognized option '--files0-from=-'
                
xargs、ではありませんwc。私はまだそれを修正する方法に興味があり、答えには良い解決策がありません。