Path: csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Robert Klemme Newsgroups: comp.lang.java.programmer Subject: Re: ant task to compute lines of code Date: Sun, 18 Nov 2012 17:24:40 +0100 Lines: 39 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net RTb93syeikiHdkMW3pImJwNqvK31Ln1jCADFR8q39D+XFoKIGpqUQW/8v9TkcipQo= Cancel-Lock: sha1:6usHD3pGe+UMptNbcLYk2PXIzIw= User-Agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121028 Thunderbird/16.0.2 In-Reply-To: Xref: csiph.com comp.lang.java.programmer:19787 On 11/18/2012 04:43 PM, Laura Schmidt wrote: > Hello, > > I want to find out the total lines of code of a project using an ant task. > > On the commandline I would do this like this: > > find src -name *.java | wc -l No, you wouldn't. That would give you the number of source files - at best. Worst case is an error from "find" indicating invalid command line arguments. Other variants are also possible, e.g. including directories or symlinks in the count. More successful approaches find src -type f -name \*.java -exec cat {} + | wc -l { echo 0 find -type f -name \*.java -exec wc -l {} + \ | sed -n 's#^ *\([0-9]\+\) \+total$#\1+#p' echo n } | dc Btw, all these also count empty lines. For non empty lines something like this could work { echo 0 find -type f -name \*.java -exec egrep -hc '[^[:space:]]' {} + \ | sed 'a +' echo n } | dc Kind regards robert