首页 > 编程语言 > 详细

shell 数组用法

时间:2017-02-06 00:28:15      阅读:257      评论:0      收藏:0      [点我收藏+]


root@ubuntu:~# arr=(1 2 3 4 5 6)

#打印数组字符串下标是1的元素

root@ubuntu:~# echo ${arr[1]} 
2


#打印默认第一个元素

root@ubuntu:~#  echo $arr 
1


#打印数组所有元素

root@ubuntu:~#  echo ${arr[@]} 
1 2 3 4 5 6


#打印数组长度

root@ubuntu:~# echo ${#arr[@]}
6


#打印下标是3的长度

root@ubuntu:~#  echo ${#arr[3]}
1


#打印从第一道第二

root@ubuntu:~#  echo ${arr[@]:1:2} 
2 3


#打印从第二个开始到最后

root@ubuntu:~# echo ${arr[@]:2}
3 4 5 6


#打印从开始到第二个

root@ubuntu:~# echo ${arr[@]::2}
1 2


#数组赋值 

root@ubuntu:~# array=(one two three)
root@ubuntu:~# echo ${array[@]}
one two three
root@ubuntu:~# echo ${array[0]}
one
root@ubuntu:~# echo ${array[1]}
two
root@ubuntu:~# array[3]=3  #替换
root@ubuntu:~# echo ${array[@]}
one two three 3


#删除

root@ubuntu:~# echo ${array[@]}
one two three 3
root@ubuntu:~# unset array[2]
root@ubuntu:~# echo ${array[@]}
one two 3


#替换 

相当于sed 没加-i,只修改参数输出,不修改原来数据

root@ubuntu:~# array=(one two three)
root@ubuntu:~# echo ${array[@]}
one two three
root@ubuntu:~# echo ${array[@]/one/1}
1 two three
root@ubuntu:~# echo ${array[@]}
one two three

删除

root@ubuntu:~# array=(one two three four five)
root@ubuntu:~# echo ${array[@]} 
one two three four five
#从左边开始匹配最短的数组元素,并删除
root@ubuntu:~# echo ${array[@]#o*}
ne two three four five
#从左边开始匹配最长的数组元素,并删除
root@ubuntu:~# echo ${array[@]##o*}
two three four five
#从右边开始匹配最短的数组元素,并删除
root@ubuntu:~# echo ${array[@]%f*}
one two three
#从右边开始匹配最长的数组元素,并删除
root@ubuntu:~# echo ${array[@]%%f*}
one two three


替换字符串前端子串

root@ubuntu:~#  echo ${array[@]/#o/k}
kne two three four


替换字符串后端子串

root@ubuntu:~# echo ${array[@] /%o/k}
one twk three four


没有指定替换子串,则删除匹配到的子符

root@ubuntu:~# echo ${array[@] //o/}
ne tw three fur


shell 数组用法

原文:http://caimengzhi.blog.51cto.com/9787265/1895124

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!