Para responder à sua pergunta principal "como simbolizar um número N com uma sequência de N caracteres, aqui está um comando shell que fará exatamente isso:
n=17 # Number to translate to a sequence
printf "%${n}s" '' | tr ' ' '#'
(sintaxe alternativa: printf '%*s' "$n" '' | tr ' ' '#'
; existem outras alternativas, você entende)
O que ele faz é gerar uma linha em branco feita de n
spaces (a parte printf
) e então converter cada espaço para o caractere desejado (a tr
part).
Supondo que você tenha um comando count_files
que produza a lista que você incluiu na sua pergunta, este comando pode ser usado assim:
count_files \
| while read n type; do
printf '%4d %-30s %s\n' "$n" "$type" "$(printf "%${n}s" '' | tr ' ' '#')"
done
... e você vai conseguir isso:
8 empty ########
6 ASCII text ######
3 Vim swap file, version 7.4 ###
1 UTF-8 Unicode text #