Замена номера одним и тем же значением (числом) одного символа

Я должен найти все типы файлов, используя file -b $(find . -type f) , сортировать их в уникальные категории и распечатывать топ-4 большинства категорий, где число заменяется равным числом «#». Результат должен выглядеть примерно так:

  8 empty : ######## 6 ASCII text : ###### 3 Vim swap file, version 7.4 : ### 1 UTF-8 Unicode text : # 

Я не могу понять, как распечатать количество файлов в каждой категории как «#».

Я хочу получить номер в каждой строке в качестве значения и поставить в конце то же количество «#».

  • Использование sed с переменной:
  • Как я могу автоматически перезапустить gnome-shell, выходящий из режима приостановки?
  • Как добавить тег для xml из файла, существует с помощью оболочки linux
  • Должен ли я использовать «sudo» в сценариях, которые я пишу?
  • Сравнить 2 столбца в 2 разных файлах
  • удалять строки из выходного файла из diff
  • Как клонировать часть только для чтения файловой системы / proc
  • Возможно ли выполнить сценарий VIM в неинтерактивном режиме?
  • One Solution collect form web for “Замена номера одним и тем же значением (числом) одного символа”

    Чтобы ответить на ваш основной вопрос «как символизировать число N с последовательностью N символов, вот команда оболочки, которая будет делать именно это:

     n=17 # Number to translate to a sequence printf "%${n}s" '' | tr ' ' '#' 

    (альтернативный синтаксис: printf '%*s' "$n" '' | tr ' ' '#' , есть другие альтернативы, вы получаете идею)

    Он создает пустую строку из n пробелов (часть printf ), а затем преобразует каждое пространство в нужный символ ( tr часть).

    Предполагая, что у вас есть команда count_files которая выводит список, который вы включили в свой вопрос, эта команда может быть использована следующим образом:

     count_files \ | while read n type; do printf '%4d %-30s %s\n' "$n" "$type" "$(printf "%${n}s" '' | tr ' ' '#')" done 

    … и вы получите следующее:

      8 empty ######## 6 ASCII text ###### 3 Vim swap file, version 7.4 ### 1 UTF-8 Unicode text # 
    Linux и Unix - лучшая ОС в мире.