내 역사에서 특정 파일의 행 수를 제공하기 위해 자식 별칭을 추가했습니다.
[alias]
lines = !lc() { git ls-files -z ${1} | xargs -0 wc -l; }; lc
그러나 wc -l
여러 총계를보고하므로 ~ 100k 줄 이상인 경우 총계를보고 한 다음 계속 진행합니다. 예를 들면 다음과 같습니다.
<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
. 여전히 문제를 해결하는 방법에 관심이 있으며 답변에 좋은 해결책이 없습니다.