find . -name *.java | xargs wc -l | awk '{$c=$c+$1}END{print $c}'
síce čo-to napovedia, ale veľkí chlapci radšej siahnu po niečom trošku dômyselnejšom. Zo súčtu treba totiž odfiltrovať riadky s komentármi, prázdne riadky, includy, proste všetok balast. Tieto sú v rôznych jazykoch rôzne definované, teda pre každý jazyk potrebujeme spraviť samostatný filter.
Pri príprave jednej prezentácie som potreboval porovnať dva pomerne veľké projekty napísané v mixe rúznych jazykov (java, c, c++, python, shell, awk, ...).
Opensourcový free projekt SLOCCount mi poskytol množstvo informácií v priebehu pár sekúnd. Pozná 27 jazykov a ich mutácií (.C/.cpp/.cxx/.cc identifikuje ako c++, .php/.php[3456]/.inc ako php, ...) a je dostupný ako céčkový zdroják alebo ako rpm pre RedHat Linux 9 na Inteli. Dokonca počíta aj cenu diela podla COCOMO metodiky.
Jediným obmedzením použitia je nutnosť pri výsledkoch uviesť "generated using David A. Wheeler's 'SLOCCount'".
[SLOC | SLOCCount | COCOMO]