Se si utilizza UNIX, utilizzare lo strumento wc
. Di solito uso wc -l *.coffee */*.coffee etc.
perché è facile da ricordare. Tuttavia, una versione ricorsiva sarebbe
wc -l `find <proj-dir> -type f | grep \.coffee$`
che gestisce il find command
, che elenca in modo ricorsivo i file di tipo f
, o file normali, immessa nella grep
, che filtra verso il basso per solo i file CoffeeScript, e l'uscita di questo è utilizzato come argomento della riga di comando su wc
(-l
segnala un conteggio riga).
Modifica: Ora non vogliamo contare le righe vuote o di commenti (stiamo solo osservando i commenti a riga singola qui). Perdiamo i conteggi per file, ma qui va:
cat `find <proj-dir> -type f | grep \.coffee$` | sed '/^\s*#/d;/^\s*$/d' | wc -l
Troviamo i file CoffeeScript, e poi li cat
. Quindi, sed
elimina righe che includono solo spazi bianchi o spazi bianchi seguiti da uno #
. Infine, il nostro amico wc
conta le righe rimanenti.
fonte
2012-04-02 02:10:53
Questo è fantastico! Ma solo per essere pignoli: c'è qualche possibilità di una soluzione che ometterà righe e righe vuote che iniziano con "#" per righe di codice __source__? Non penso di usare il commento di blocco in nessuna parte del mio codice (###) in modo che sia tutto ciò di cui ho bisogno. – Mitch