Solução de comandos simples find + wc :
find . -maxdepth 1 -type f -name "?????*" | wc -l
Estou tentando usar ls e grep . No entanto, não consigo descobrir uma maneira de contar quantos arquivos no diretório atual têm um nome com pelo menos 5 caracteres.
Como posso conseguir isso?
Solução de comandos simples find + wc :
find . -maxdepth 1 -type f -name "?????*" | wc -l
Se este é o dever de casa, a tarefa pode estar procurando algo como:
ls | grep ..... | wc -l
Embora eu faça:
set -- ?????*
echo $#
ou
files=(?????*)
echo ${#files[@]}
Aqui o trabalho importante é feito pelo shell glob . que diz para combinar um caractere de um nome de arquivo; Incluindo 5 deles seguidos por um * (qualquer número de caracteres), geramos a lista de arquivos com pelo menos 5 caracteres.
A contagem é então feita pelo parâmetro $# shell na solução set ou pela contagem dos elementos na matriz.