免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: th0806
打印 上一主题 下一主题

一组字符串如何提取成两段 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-10-18 14:22 |只看该作者

  1. s="ABCD1234%UT"
  2. a=$(echo $s | awk '{print substr($0,1,6)}')
  3. b=$(echo $s | awk '{print substr($0,7)}')

  4. ===
  5. a=$(echo $s | sed 's/\(.\{6\}\).*/\1/')
  6. b=$(echo $s | sed 's/.\{6\}\(.*\)/\1/')

  7. 这样a就是前6个字符,b就是后面的字符
复制代码

论坛徽章:
0
12 [报告]
发表于 2010-10-18 14:27 |只看该作者
回复 2# where27


    简单 实用....

论坛徽章:
0
13 [报告]
发表于 2010-10-18 14:34 |只看该作者
回复 11# springwind426


    Good, 正是我想要的结果,谢谢!

论坛徽章:
0
14 [报告]
发表于 2010-10-18 14:40 |只看该作者
回复 8# th0806


    我的资料还不够清楚么

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
15 [报告]
发表于 2010-10-18 16:05 |只看该作者
cut不就行了?

论坛徽章:
0
16 [报告]
发表于 2010-10-18 16:09 |只看该作者
springwind426 发表于 2010-10-18 14:22



    这个写法有个问题,如果这组字符串的长度小于6(例如 s="ABCD”),
   那么a和b得到的值都是“ABCD”了。
   我希望这种情况下a="ABCD";b的结果就是空的了。

论坛徽章:
0
17 [报告]
发表于 2010-10-18 16:11 |只看该作者
cut不就行了?
昭襄王 发表于 2010-10-18 16:05



    昭襄王,怎么个cut法?谢谢!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
18 [报告]
发表于 2010-10-18 16:17 |只看该作者
回复 17# th0806


descripiton="ABCD1234%UT"
echo $descripiton|cut -c -6
ABCD12
echo $descripiton|cut -c 7-
34%UT

论坛徽章:
3
天蝎座
日期:2013-11-11 10:18:392015年亚洲杯之沙特阿拉伯
日期:2015-04-06 15:51:08CU十四周年纪念徽章
日期:2017-01-07 22:56:29
19 [报告]
发表于 2010-10-18 16:34 |只看该作者
回复 18# 昭襄王


    cut  正解

论坛徽章:
0
20 [报告]
发表于 2010-10-18 16:50 |只看该作者
老表的最简洁
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP