Qual é exatamente o problema wcque impede você de usá-lo?
Vanza
5
Na verdade não. Os comandos Unix geralmente se destinam a ser usados dessa maneira, encadeados em pipes.
Michael Berkowski
2
Estou conectando via ssh a outro host para acessar alguns dados. Infelizmente, vários comandos básicos parecem não funcionar neste host. Se eu usar o wc, ele retornará "comando não reconhecido". Então, eu estou procurando outras opções.
Kantura
7
Use o treecomando Ele fornecerá a árvore e, na parte inferior, informará quantos arquivos e diretórios existem. Se você quiser arquivos ocultos, use também tree -a.
Elias Lynn
5
@vanza " Qual é exatamente o problema com o wc ", e se um arquivo tiver um \nno nome do arquivo? Sim, extremamente improvável! Mas ainda tecnicamente válido e possível.
JamesThomasMoon1979
Respostas:
524
isso é um:
ls -l . | egrep -c '^-'
Nota:
ls -1 | wc -l
O que significa::
lslistar arquivos no diretório
-1: (isso é ONE) apenas uma entrada por linha. Altere para -1a se você quiser arquivos ocultos também
Não espera. Eu fiz um booboo. Você está absolutamente certo, Sajad Lfc. ls -1 dir | egrep -c '' Isso retorna o número de arquivos no diretório Obrigado .
Kantura
1
@SajadKaruthedath ls -l . | egrep -c '^-'não conta arquivos ocultos. Sugiro adicionar -asinalizador para ls.
JamesThomasMoon1979
1
@ JamesThomasMoon1979: por favor, verifique minha descrição
Sajad Karuthedath
1
Isso mostra erro quando não há arquivos na pasta. Use ls -1 /dir 2>/dev/null | wc -l. Aqui a saída de ls é direcionada para / dev / null e o resultado é um zero limpo
Sathish
6
@runios é porque ls -lretorna uma linha adicional na parte superior, adicionando os tamanhos dos arquivos para um valor total. Você deve usar ls -1e não o ls -l. Além disso, se alguém quiser arquivos ocultos, mas sem os diretórios .e ..você deve usarls -1A | wc -l
wc
que impede você de usá-lo?tree
comando Ele fornecerá a árvore e, na parte inferior, informará quantos arquivos e diretórios existem. Se você quiser arquivos ocultos, use tambémtree -a
.\n
no nome do arquivo? Sim, extremamente improvável! Mas ainda tecnicamente válido e possível.Respostas:
isso é um:
Nota:
O que significa::
ls
listar arquivos no diretório-1
: (isso é ONE) apenas uma entrada por linha. Altere para -1a se você quiser arquivos ocultos também|
: saída do tubo para ...wc
: "contagem de palavras"-l
: contarl
ines.fonte
ls -l . | egrep -c '^-'
não conta arquivos ocultos. Sugiro adicionar-a
sinalizador parals
.ls -1 /dir 2>/dev/null | wc -l
. Aqui a saída de ls é direcionada para / dev / null e o resultado é um zero limpols -l
retorna uma linha adicional na parte superior, adicionando os tamanhos dos arquivos para um valor total. Você deve usarls -1
e não ols -l
. Além disso, se alguém quiser arquivos ocultos, mas sem os diretórios.
e..
você deve usarls -1A | wc -l