bash自带的切片操作的实现
作者:Code Rhythm
本文主要介绍了bash自带的切片操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文主要介绍了 bash自带的切片操作的实现,具体如下:
echo ${#a} # $a中字符串的个数 echo ${a:3} # $a中从第三个开始取直到结束 echo ${a:3:2} # $a中从第三个开始去两个字符 echo ${a: -1} # 取最后一个字符 echo ${a#*.} # 从左边开始删除直到遇到.为止 echo ${a##*.} # 从左边开始删除直到遇到最后一个.为止 echo ${a%.*} # 从右面开始删除直到遇到.为止 echo ${a%%.*} # 从右面开始删除直到遇到最后一个.为止 echo ${a//abc/xyz} # 将变量a中的所有的abc替换成xyz echo ${1#--check=} #删除第1个位置变量里的--check=字符串 echo ${1##[-+]} #删除第1个位置变量的内容开头的-或者+
cut 截取字符串
-c, --characters=LIST
select only these characters-
表示连续,
表示不连续
[root@rocky ~]# str="pythoniloveyou" [root@rocky ~]# echo $str pythoniloveyou [root@rocky ~]# echo $str|cut -c 1-6 python [root@rocky ~]# echo $str|cut -c 1,6 pn [root@rocky ~]# echo $str|cut -c 1,6-9 pnilo
统计一个字符串的个数
[root@rocky ~]# echo ${#str} 14 [root@rocky ~]# echo $str|wc -L 14
截取
[root@rocky ~]# echo ${str:0:6} python [root@rocky ~]# echo ${str:7:4} love [root@rocky ~]# echo ${str: -3} you
从左边开始删除直到遇到.为止
[root@rocky ~]# bigcity="beijing.shanghai.guangzhou.shenzhen.changsha" [root@rocky ~]# echo ${bigcity#*.} shanghai.guangzhou.shenzhen.changsha [root@rocky ~]# echo ${bigcity##*.} changsha
从右面开始删除直到遇到.为止
[root@rocky ~]# echo ${bigcity%.*} beijing.shanghai.guangzhou.shenzhen [root@rocky ~]# echo ${bigcity%%.*} beijing
删除第一个位置变量的内容开头的-或者+
[root@rocky shell]# vim slice.sh echo ${1##[-+]} [root@rocky shell]# bash slice.sh abc+def-ghi+jkl-mno abc+def-ghi+jkl-mno [root@rocky shell]# bash slice.sh +abc+def-ghi+jkl-mno abc+def-ghi+jkl-mno [root@rocky shell]# bash slice.sh -abc+def-ghi+jkl-mno abc+def-ghi+jkl-mno
删除第一个位置变量里的 --check=字符串
[root@rocky shell]# cat slice.sh echo ${1##[+-]} echo ${1#--check=} [root@rocky shell]# bash slice.sh --check=root -check=root root
如果nicelevel变量存在就输出它的值,如果没有赋值,则输出空值
[root@rocky shell]# nicelevel=100 [root@rocky shell]# echo ${nicelevel:-} 100
如果niceleve1l变量存在就输出它的值,如果没有赋值,则输出0
[root@rocky shell]# echo ${nicelevel1:-} [root@rocky shell]# echo ${nicelevel1:-0} 0
替换
[root@rocky shell]# num="123123456123" [root@rocky shell]# echo ${num/123/abc} abc123456123 [root@rocky shell]# echo ${num//123/abc} abcabc456abc
到此这篇关于bash自带的切片操作的实现的文章就介绍到这了,更多相关bash 切片操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!