700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > lincx Shell脚本编程之字符串的截取 替换 按条件掐头去尾

lincx Shell脚本编程之字符串的截取 替换 按条件掐头去尾

时间:2018-12-31 16:32:20

相关推荐

lincx Shell脚本编程之字符串的截取 替换 按条件掐头去尾

字符串处理

子串截取 三种方法

方法一:${变量名:起始位置:长度}

方法二:expr subsrt “$变量名” 起始位置 长度

方法三:echo $变量名 | cut -b 起始位置-结束位置

[root@server0 ~]# phone='13788768897'

[root@server0 ~]# echo ${#phone} 显示字符串的内字符的个数

11

[root@server0 ~]# echo ${phone:0:6} 截取字符串从0为开始从左到右的6为数字

137887

[root@server0 ~]# echo $phone | cut -b 1-4 截取字符串从1到4之间的字符串

1378

[root@server0 ~]# expr substr "$phone" 1 3 截取字符串从1到3之间的字符串

137

[root@server0 ~]# echo $phone | cut -b 1,4,8 截取字符串从1,4,8位置上的字符

188

字符串的替换

语法格式:

${变量名/old/new} 只替换第一个匹配结果

${变量名/old/new} 替换全部匹配结果

举例:

[root@server0 ~]# phone='13788768897'

[root@server0 ~]# echo ${phone/3/@}

1@788768897

[root@server0 ~]# echo ${phone//8/*}

137**76**97

按条件掐头去尾

掐头:

从左向右,最短匹配删除

${变量名#*关键词 }

从左向右,最长匹配删除

${变量名##*关键词 }

去尾:

从右向左,最短匹配删除

${变量名%关键词*}

从右向左,最长匹配删除

${变量名%%关键词*}

[root@server0 ~]# phone='13788768897'

[root@server0 ~]# echo ${phone#*8}

8768897

[root@server0 ~]# echo ${phone##*8}

97

[root@server0 ~]# echo ${phone%8*}

13788768

[root@server0 ~]# echo ${phone%%8*}

137

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。