免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5438 | 回复: 13
打印 上一主题 下一主题

bash 中可以产生重复的字符串吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-18 12:33 |只看该作者 |倒序浏览
有没有在bash里的可以直接产生重复字符串的方法:
比如:
a="abc" * 10
a就成了abcabcabcabc...(10个abc)
有这样的方法吗?

论坛徽章:
0
2 [报告]
发表于 2009-03-18 12:43 |只看该作者
#!/bin/bash
a="abc"
for(i=0;i<10;i++)
do
b=$a$b
done
a=b
echo $a

[ 本帖最后由 ztj2247 于 2009-3-18 13:09 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-03-18 12:48 |只看该作者
原帖由 dream3401 于 2009-3-18 12:33 发表
有没有在bash里的可以直接产生重复字符串的方法:
比如:
a="abc" * 10
a就成了abcabcabcabc...(10个abc)
有这样的方法吗?


借鉴下tim的方法:
sed -e ':a' -e 's/a/&&/;/a\{10\}/!ba' urfile

论坛徽章:
0
4 [报告]
发表于 2009-03-18 12:53 |只看该作者
原帖由 飞鸿无痕 于 2009-3-18 12:48 发表


借鉴下tim的方法:
sed -e ':a' -e 's/a/&&/;/a\{10\}/!ba' urfile


麻烦解释下a\{10\}/!ba'  什么意思呀

论坛徽章:
0
5 [报告]
发表于 2009-03-18 13:04 |只看该作者
TO:飞鸿
我是在看到这个贴子里想到这个问题的:如何才能用简单的命令产生重复的字符串。
这样这个贴子的楼主就可以用:
sed 's/X/'`命令 & * 5`'/' file
来达到楼主的要求。而你却引用了别人的方法。

我不想利用脚本做这件事,我是问有什么命令(如expr之类的)可以直接得到重复的字符串的。

[ 本帖最后由 dream3401 于 2009-3-18 13:10 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-03-18 13:36 |只看该作者
原帖由 ztj2247 于 2009-3-18 12:53 发表


麻烦解释下a\{10\}/!ba'  什么意思呀


就是匹配10个a,不匹配则循环!

论坛徽章:
0
7 [报告]
发表于 2009-03-18 13:37 |只看该作者

回复 #5 dream3401 的帖子

ctrl +c
ctrl +v

论坛徽章:
0
8 [报告]
发表于 2009-03-18 13:54 |只看该作者
原帖由 oldoger 于 2009-3-18 13:37 发表
ctrl +c
ctrl +v

如果不知道就保持沉默,如果想灌水就去找菜地,如果想秀自己就去找T台。1200多的积分不会是灌水得来的吧?

[ 本帖最后由 dream3401 于 2009-3-18 13:56 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2009-03-18 14:05 |只看该作者
for i in {1..10}; do echo -n 'abc '; done

论坛徽章:
0
10 [报告]
发表于 2009-03-18 14:06 |只看该作者

回复 #5 dream3401 的帖子

LZ不要生气,什么事都有解决的方法,这个行不行

[root@]# seq 5 | xargs  -i echo "ok"
ok
ok
ok
ok
ok
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP