печатать символы повторно, используя символ звездочки в bash

print '*' * 80 

Этот фрагмент python печатает 80 звездочек, которые я часто использую в качестве разделителей в файлах журналов.

Как я могу сделать это в сценарии bash, используя перегрузку оператора?

  • Получать вывод в форматированном виде
  • Как печатать слева и справа от уже напечатанного вывода
  • Подсчет файлов, каталогов и т. Д. В заданном каталоге и форматирование на экране
  • Еще одна синтаксическая ошибка около неожиданного токена `('
  • Как распечатать переменную с выравниванием по центру?
  • конвертировать временную метку в эпоху с bash builtin printf
  • Найдите новый файл и посмотрите, старше ли файл «X»
  • printf в сценарии оболочки can not do \ x% x
  • One Solution collect form web for “печатать символы повторно, используя символ звездочки в bash”

    В оболочке ( ksh , zsh , bash ) вы можете:

     stars=$(printf '%*s' 80 '') echo "${stars// /*}" 

    С bash есть возможность делать:

     printf -v stars '%*s' 80 '' echo "${stars// /*}" 

    Объяснение: printf использует строку формата %*s что означает создание строки длины, которая предоставляется через аргумент. Таким образом, первый аргумент ( 80 ) определяет длину, а второй аргумент указывает строку ( '' , пустую строку) для эффективной печати, а пустую – до определенной ширины. Обратите внимание, что это также можно выразить как printf "%80s" '' , хотя я использовал параметризованную версию для длины, чтобы сделать ее явной, что она может быть переменным параметром.

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