Essa tarefa me fascinou tanto que eu mesmo queria descobrir uma solução.
Ele nem leva um loop while e MAIO é mais rápido na velocidade de execução.
É desnecessário dizer que os esforços de Thor me ajudaram muito a entender as coisas em detalhes.
Então aqui está o meu:
find . -maxdepth 1 -mindepth 1 -type d -exec sh -c 'echo "{} : $(find "{}" -type f | wc -l)" file\(s\)' \;
Parece modesto por um motivo, pois é muito mais poderoso do que parece. : -)
No entanto, se você pretende incluir isso em seu arquivo .bash_aliases
, ele deve ficar assim:
alias somealias='find . -maxdepth 1 -mindepth 1 -type d -exec sh -c '\''echo "{} : $(find "{}" -type f | wc -l)" file\(s\)'\'' \;'
Observe a manipulação muito complicada de citações aninhadas simples . E não, é não possível usar aspas duplas para o argumento sh -c
.