Pergunta simples, tenho certeza. Vi uma resposta que mostra como fazê-lo, incluindo subdiretórios, mas quero saber quantos arquivos (não pastas) estão apenas no diretório atual. Obrigado.
Pergunta simples, tenho certeza. Vi uma resposta que mostra como fazê-lo, incluindo subdiretórios, mas quero saber quantos arquivos (não pastas) estão apenas no diretório atual. Obrigado.
Respostas:
ls -F |grep -v / | wc -l
ls -F liste todos os arquivos e inclua o indicador (um de * / => @ |) nas entradas grep -v /mantenha todas as strings que não contêm uma barra wc -l linhas de contagemExperimente este oneliner:
find -maxdepth 1 -type f | wc -l
Tente isto
ls -al | grep ^[-] | wc -l
ls -al - lista todos os arquivos com formato de listagem longogrep ^[-] - procure uma string que comece com "-", que é o símbolo para denotar arquivo regular quando listar arquivo com ls -alwc -l - linhas de contagem-porl
Eu só quero adicionar a resposta de thom porque eu gosto de brincar com o Bash . Aqui vai:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
Abaixo está um exemplo de resultado do meu /datadiretório:
Directory /data has 580569 file(s).
E abaixo estão minhas explicações:
echo double-quoted-message imprimirá uma mensagem desejável.$(any-desirable-valid-command)dentro da mensagem de aspas duplas de um echoimprimirá o resultado da execução de comando relacionada.pwd irá imprimir o diretório atual.ls -Fserve para listar todos os arquivos e anexar o indicador (um de * / => @ |) às entradas. Copiei isso da resposta de thom .grep -v /é um comando para pesquisar texto sem formatação, o -v /parâmetro manterá todas as seqüências que não contêm barra (s).wc -l imprimirá a contagem de linhas.Eu sei que esta pergunta tem 3 anos, mas não consigo segurar minha vontade de adicionar outra resposta.
Para contar o número total de arquivos com extensão específica, você pode digitar:
ls|grep jpg |wc -l