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.