为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能在Bash中重复一个角色?

我怎样才能在Bash中重复一个角色?

我怎样才能在Bash中重复一个角色?我怎样才能在Bash中重复一个角色?我怎么能这样做echo?perl -E 'say "=" x 100'
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您可以使用:

printf '=%.0s' {1..100}

这是如何工作的:

Bash扩展{1..100},因此命令变为:

printf '=%.0s' 1 2 3 4 ... 100

我已经设置了printf的格式,=%.0s这意味着=无论给出什么参数,它总是会打印一个。因此它打印100 =秒。


查看完整回答
反对 回复 2019-08-15
?
忽然笑

TA贡献1806条经验 获得超5个赞

没有简单的方法。但是例如:

seq -s= 100|tr -d '[:digit:]'

或者也许是符合标准的方式:

printf %100s |tr " " "="

还有一个tput rep,但至于手头的终端(xterm和linux)他们似乎不支持它:)


查看完整回答
反对 回复 2019-08-15
?
函数式编程

TA贡献1807条经验 获得超9个赞

有不止一种方法可以做到这一点。

使用循环:

  • 大括号扩展可以与整数文字一起使用:

    for i in {1..100}; do echo -n =; done
  • 类似C的循环允许使用变量:

    start=1end=100for ((i=$start; i<=$end; i++)); do echo -n =; done

使用printf内置:

printf '=%.0s' {1..100}

在此处指定精度会截断字符串以适合指定的宽度(0)。由于printf重用格式字符串消耗所有的参数,这只是简单地打印"="100次。

使用headprintf等)和tr

head -c 100 < /dev/zero | tr '\0' '='printf %100s | tr " " "="


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 473 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信