当前位置: 首页 > 编程笔记 >

shell数组操作简明总结

阎丰羽
2023-03-14
本文向大家介绍shell数组操作简明总结,包括了shell数组操作简明总结的使用技巧和注意事项,需要的朋友参考一下


数组作为一种特殊的数据结构在任何一种编程语言中都有它的一席之地,当然bash shell也不例外。本文就shell数组来做一个小的总结。
在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方法来模拟),不涉及。这里包括数组的复制,计算,删除,替换。

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

 类似资料:
  • 本文向大家介绍js常用数组操作方法简明总结,包括了js常用数组操作方法简明总结的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍PowerShell数组操作简明教程,包括了PowerShell数组操作简明教程的使用技巧和注意事项,需要的朋友参考一下 对于编写程序来讲,离不开数组,PowerShell也不例外。在PowerShell中创建和使用数组是一件前所未有的愉悦的事情,实在是简单、易用得太过分了!呵呵! 1、定义数组 在PowerShell中,所有的变量都无须定义,数组亦如此,所以此步省略。 2、初始化数

  • 本文向大家介绍Javascript数组操作函数总结,包括了Javascript数组操作函数总结的使用技巧和注意事项,需要的朋友参考一下 其实平时用的比较多的应该是push和pop,不过还是都记下来,以便后面使用。 shift :删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined unshift :将参数添加到原数组开头,并返回数组的长度 注:在IE6.0下测试返回值总为 u

  • 本文向大家介绍JavaScript数组操作函数汇总,包括了JavaScript数组操作函数汇总的使用技巧和注意事项,需要的朋友参考一下 js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧。不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下。 这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splic

  • 本文向大家介绍nodejs文件操作模块FS(File System)常用函数简明总结,包括了nodejs文件操作模块FS(File System)常用函数简明总结的使用技巧和注意事项,需要的朋友参考一下 件系统操作相关的函数挺多的。首先可以分为两大类。 一类是异步+回调的。 一类是同步的。 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数

  • 本文向大家介绍MySQL数学函数简明总结,包括了MySQL数学函数简明总结的使用技巧和注意事项,需要的朋友参考一下 1. ABS(x): 返回x的绝对值 2. PI(): 返回圆周率 3. SQRT(x): 返回x的平方根,要求(x为非负数,返回NULL) 4. MOD(x,y): 求余函数,返回x被y除后的余数;对于带有小数部分的数据值也起作用,它返回除法运算后的精确余数。 5. CEIL(X)