#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
Комментариев нет:
Отправить комментарий