A página de manual para grep
diz:
-c
,--count
: Suprime a saída normal; em vez disso, imprima uma contagem de linhas correspondentes para cada arquivo de entrada.
dado:
# grep -R -c sleeping /proc/*/status
Eu recebo uma lista, não uma contagem (como em):
# grep -R sleeping /proc/*/status | wc -l
O que há com grep -c
? O que estou fazendo (nos comandos acima) para não obter uma contagem dele e ter que usar wc -l
em vez disso)?
grep -c
fornece a contagem de linhas correspondentes para cada arquivo de entrada separadamente (é o que sua citação do manual diz, na verdade):Então
chmod.1
tem 20 fósforos,chown.1
tem 5.A listagem de nomes de arquivo funciona de forma semelhante aqui como com um grep normal, ou seja, os nomes de arquivo são listados se houver mais de um arquivo de entrada, mas não se houver apenas um. Pelo menos no GNU grep, isso pode ser modificado com os sinalizadores
-H
e .-h
Então,
Para uma contagem total, use um uso talvez não tão inútil de
cat
para quegrep
não relate contagens por arquivo