shell数组操作简明总结
2014-05-27 00:00
609 查看
数组作为一种特殊的数据结构在任何一种编程语言中都有它的一席之地,当然bash shell也不例外。本文就shell数组来做一个小的总结。
在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方法来模拟),不涉及。这里包括数组的复制,计算,删除,替换。
1.数组的声明:
2.数组的访问:
3.数组的删除
4.计算数组的长度:
5.数组的提取
从尾部开始提取:
6.子串删除
7.子串替换
所有匹配到的,都会被删除
没有指定替换子串,则删除匹配到的子符
替换字符串前端子串
替换字符串后端子串
在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方法来模拟),不涉及。这里包括数组的复制,计算,删除,替换。
1.数组的声明:
1)array[key]=value # array[0]=one,array[1]=two 2)declare -a array # array被当作数组名 3)array=( value1 value2 value3 ... ) 4)array=( [1]=one [2]=two [3]=three ... ) 5)array="one two three" # echo ${array[0|@|*]},把array变量当作数组来处理,但数组元素只有字符串本身
2.数组的访问:
1)${array[key]} # ${array[1]}
3.数组的删除
1)unset array[1] # 删除数组中第一个元素 2)unset array # 删除整个数组
4.计算数组的长度:
1)${#array} 2)${#array[0]} #同上。 ${#array[*]} 、${#array[@]}。注意同#{array:0}的区别
5.数组的提取
从尾部开始提取:
array=( [0]=one [1]=two [2]=three [3]=four ) ${array[@]:1} # two three four,除掉第一个元素后所有元素,那么${array[@]:0}表示所有元素 ${array[@]:0:2} # one two ${array[@]:1:2} # two three
6.子串删除
[root@localhost dev]# echo ${array[@]:0} one two three four [root@localhost dev]# echo ${array[@]#t*e} # 左边开始最短的匹配:"t*e",这将匹配到"thre" one two e four [root@localhost dev]# echo ${array[@]##t*e} # 左边开始最长的匹配,这将匹配到"three" [root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four ) [root@localhost dev]# echo ${array[@] %o} # 从字符串的结尾开始最短的匹配 one tw three four [root@localhost dev]# echo ${array[@] %%o} # 从字符串的结尾开始最长的匹配 one tw three four
7.子串替换
[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )[code] 第一个匹配到的,会被删除 [code][root@localhost dev]# echo ${array[@] /o/m} mne twm three fmur
所有匹配到的,都会被删除
[root@localhost dev]# echo ${array[@] //o/m} mne twm three fmur
没有指定替换子串,则删除匹配到的子符
[root@localhost dev]# echo ${array[@] //o/} ne tw three fur
替换字符串前端子串
[root@localhost dev]# echo ${array[@] /#o/k} kne two three four
替换字符串后端子串
[root@localhost dev]# echo ${array[@] /%o/k} one twk three four
相关文章推荐
- shell数组操作简明总结
- HDFS Shell基本操作总结
- JS对数组的操作总结
- shell中用于比较的一些基本的操作总结
- 数组结合循环处理重复性操作的shell实例
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- paip.数组以及集合的操作uapi java php python总结..
- shell的数组操作
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- JQuery对数组的一些操作总结
- linux下shell读写文件优化操作总结
- 总结一下js数组以及jquery相关操作
- javascript里数组的操作总结(转)
- linux下各种形式的shell加法操作总结
- shell 中数组的操作
- BASH命令和SHELL脚本总结(12)如何对字段进行操作
- JQuery对数组的一些操作总结
- js数组操作学习总结
- JQuery对数组的一些操作总结