Como posso contar o número de linhas em todos os meus arquivos neste diretório?

2

Eu quero contar as linhas de todos os arquivos neste diretório e todos os seus subdiretórios, mas excluir os diretórios "public", "modules" e "templates".

Como?

    
por Alex 05.07.2011 / 08:31

2 respostas

4
 find . -type f |grep -v "^./public" |grep -v "^./modules"|grep -v "^./templates"|xargs cat |wc -l
  1. faça uma lista de todos os arquivos no diretório atual com find . -type f
  2. filtra arquivos de "exclude" dirs com grep -v
  3. xargs lerá a lista de arquivos do stdin e passará todos os arquivos como opções para cat .
  4. cat imprimirá todos os arquivos para stdout
  5. wc contará linhas.

Se você quiser contar linhas em cada arquivo individualmente, altere xargs cat |wc -l para xargs wc -l

    
por 05.07.2011 / 08:38
2
find . -type d \
  \( -path ./public -o -path ./modules -o -path ./templates \) -prune \
  -o -type -f -print0 | xargs -0 wc
    
por 05.07.2011 / 08:59

Tags