Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1154157
  • 博文数量: 221
  • 博客积分: 10152
  • 博客等级: 上将
  • 技术积分: 1518
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-22 10:42
文章分类

全部博文(221)

文章存档

2018年(1)

2015年(6)

2014年(3)

2013年(4)

2012年(1)

2011年(5)

2010年(14)

2009年(10)

2008年(28)

2007年(33)

2006年(114)

2005年(2)

我的朋友

分类: 系统运维

2013-08-28 11:31:48

shell字符串的截取

bash only ,not work under ash csh

第一种方法:

${varible##*string }   从左向右截取最后一个string后的字符串

${varible#*string}      从左向右截取第一个string后的字符串

${varible%%string*}  从右向左截取最后一个string后的字符串

${varible%string*}      从右向左截取第一个string后的字符串

例子:

TESTSTRING="teststring helloworld"
echo ${TESTSTRING##*s}
#     "tring helloworld"
echo ${TESTSTRING#*s}
# "tstring helloworld"
echo ${TESTSTRING%%s*}
#"te"
echo ${TESTSTRING%s*}
#"test"

第二种方法:

${varible:n1:n2}   截取从n1到n2长度的字符串TESTSTRING="teststring helloworld"
echo  ${TESTSTRING:0:4}
#"test"
echo  ${TESTSTRING:1:5}
#"ests"
echo ${TESTSTRING:0:-2}
"teststring hellowor"

下划线为分隔符分割到数组:
STR_A=(${STR//_/ })



























阅读(1116) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~