Como saber quantos arquivos de texto tenho numa pasta?

A princípio parece uma resposta simples, alguém diria

 find ./ -maxdepth 1 -type f -iname \*.txt -print0 | xargs -0 wc -l


Acontece que há muitos arquivos de texto no linux que não tem
sequer extensão, como fazer então?
file * | grep ASCII | wc -l

Ainda restaria um problema pois arquivos 'UTF-8 Unicode text'
também são texto plano e não são detectados da forma descrita acima
usamos então a opão '-i' que força a exibição do tipo mime

Um erro que pode acontecer é que arquivos de texto
plano podem ser 'ASCII' assim como 'UTF-8 Unicode text'
para pegar ambos você usa o parâmetro -i do file
o que vai te dar o mime-type de cada arquivo
com o grep você deve pegar 'text/plain' e assim entregar ao
querido wc que fará a contagem para você.
file -i * | grep 'text/plain' | wc -l

2 comentários:

  1. Uso linux a mais de 10 anos e sempre me impressiono por encontrar comandos que são muito úteis e que eu nunca usei antes.

    Comando file... uma bela dica !
    Grato !

    ResponderExcluir
  2. uia issu :D, c sempre aprontando... muito bom =]

    ResponderExcluir

Insira seu comentário - O mesmo será submetido à aprovação!

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo