Страницы

Поиск по вопросам

понедельник, 9 декабря 2019 г.

Напечатать символ N раз подряд

#bash #соревнование


Нужно напечатать в bash символ N раз подряд - максимально короткой командой.
    


Ответы

Ответ 1



Думаю, что короче не получится: printf '=%.s' {1..100} P.S. Украдено отсюда.

Ответ 2



myprint.sh: for i in seq (1 $1) do printf "$2" done printf "\n" Использовать bash myprint.sh 10 x //напечатать x 10 раз Можно, как у @kff: printf "$MYCHAR%.s" $(seq $COUNT) В {1..N} у меня переменную вставить не получилось. printf "=%.s" $(sec 100) Да, у меня на 2 символа длиннее, чем у @Nick. Но для N=99, будет уже на 1)

Ответ 3



Ровно на символ короче, чем в ответе kff, 21 символ =) printf '=%.s' {0..99} Вариант на 22 символа, основан на том, что неопределенные переменные разрешаются как пустая строка. printf "=%.s"$z{0..99} Два варианта с заменой символов, первый придумал сам, второй позаимствовал. printf %100s | sed 's/ /=/g' #28 printf %100s | tr " " "=" #25 Ещё один интересный вариант, работает не во всех шеллах, зато 21 символ. repeat 100 printf "=" На большинстве ОС, где есть bash, есть и python: python -c "print '='*100" #25

Комментариев нет:

Отправить комментарий