在 perl
中有一个简单的表达式可以生成指次数重的字符串,如生成 100 个 '' : ~perl -E 'say "
" x 100'~ ,那么这样的功能如何在Bash中实现的呢?
-
printf '=%.0s' {1..100}
工作原理是:Bash会把
{1..100}
扩展成1 2 3 ... 100
,那么上面的语句就变成printf '=%.0s' 1 2 3 4 ... 100
,设置printf的格式串为=%.0s
意味着,不管后面有多少个参数,printf总是打印一个=
。因此上面的表达式就会打印100个=
。 -
seq -s= 100|tr -d '[:digit:]'
-
printf %100s|tr " " "="
另python的语法是: python3 -c "print('=' * 100)"
更多方案参考: https://stackoverflow.com/questions/5349718/how-can-i-repeat-a-character-in-bash