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

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

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

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

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

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 # 
  • Вставка строки в файл только в том случае, если эта строка еще не является частью файла
  • Итерации над выходом команды в bash без подоболочки
  • Сценарий оболочки для чтения вывода команды
  • Как скопировать несколько файлов, но сохранить их расширения одинаково?
  • Изменение текущего каталога с помощью скрипта (ksh)
  • Использование sed с переменной:
  • Выполнять команды Perl с определенного IP-адреса?
  • Почему этот скрипт рыбы не запускается из пусковой установки?
  • Оценка find (-exec)
  • Как запустить скрипт на удаленном хосте, когда я потеряю соединение с ним?
  • Запуск скрипта во время загрузки / запуска; init.d vs cron @reboot
  • Сценарий, который учитывает только установленные, TIME_WAIT и Closed Wait подключения с помощью Netstat
  • Interesting Posts

    slapd не запускается автоматически, несмотря на запись rc.conf

    Где искать проблемы при входе через ssh

    Двойная загрузка Linux и hiberantion: обмен разделом обмена

    Как установка бита Setuid влияет на сценарии оболочки, которые запускаются при загрузке системы, до того, как произошел какой-либо логин?

    Как я могу интерпретировать код «управляющего терминала» вывода ps?

    smd5 – генерировать с помощью инструмента unix или perl

    sudo -E не может вызывать некоторые команды, расположенные в домашнем каталоге?

    Файлы Diff 2 игнорируют строки между @ и [

    Подстановка команды в псевдониме разрешена в профиле bash?

    Установка Centos-7 зависает в пакете microcode-ctl

    Как переименовать каталог из всех учетных записей пользователей

    Сценарий / init (или / linuxrc) создает временные узлы устройства в / dev?

    Интеграция настраиваемого LPD-фильтра в CUPS

    Можно ли подключиться к Linux-машине с учетными данными AD без участия компьютера в AD?

    При попытке ssh pam_ldap всегда отправляет пароль «INCORRECT», заставляя bind сбой

    Linux и Unix - лучшая ОС в мире.