A volte lo "ammazzerei"...
Intanto per cominciare, cosa vuoi contare? Il solo codice o anche i form?
La cosa non è complicata, anzi, ma per esempio, la configurazione di una form (*.form) non contiene codice puro, ma permette all'interprete di crearne uno ad-hoc.
Per il codice, basta che fai un "wc -l" che ti ritorna le righe pure e semplici. Magari ci metti un "grep -v" per eliminare i commenti...
Ti faccio una domandina: ma se in una sola riga ci scrivi 2000 un "if" pazzesco da 2000 caratteri, come li conti? Singola riga=1 riga?
Mi ricorda un tizio di un ente, che a suo tempo mi chiese la stessa cosa, che si ricordava una specifica di allora che si basava sull'assembler...
Bè, in quel caso si poteva fare, ma poi gli avevo fatto vedere il sorgente in C, e che a volte mi divertiva usare mucchi di istruzioni e chiamate a funzioni tutte su una sola riga...
Gli ho detto: e mò che me paghi per numero di righe? Bene, allora mi metto a contare anche quelle delle librerie cui il programma si appoggia... ehehehe, non gli è convenuto...
Comunque, e a parte gli scherzi, secondo me non ha senso anche soppesare la differenza tra un codice scritto non ottimizzato e quello dopo le pulizie di pasqua... Non credo che questo ti dia un qualche senso di miglioramento sulla tua programmazione.
Spesso e volentieri, il raggiungimento di un obiettivo viene effettuato attraverso strade diverse, e non è detto che una sia meglio dell'altra...
Se proprio vuoi farlo, gioca un pò con bash, e usa le istruzioni che ti ho suggerito, un qualche cosa ti viene fuori, anche se non indicativo.
Bye