数组的声明:
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变量当作数组来处理,但数组元素只有字符串本身
数组的访问:
1)${array[key]} #
${array[1]}
数组的删除:
1)unset array[1] #
删除数组中第一个元素
2)unset array # 删除整个数组
计算数组的长度:
1)${#array}
2)${#array[0]} #同上。 ${#array[*]} 、${#array[@]}。注意同#{array:0}的区别
数组的提取:
从尾部开始提取:
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
子串删除:
[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
子串替换:
[root@localhost dev]# array=( [0]=one [1]=two
[2]=three [3]=four )
第一个匹配到的,会被删除
[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
来源网站:http://bbs.chinaunix.net/thread-1779167-1-1.html
分享到:
相关推荐
Shell脚本中的数组操作是日常自动化任务中非常实用的功能,特别是在处理批量数据和流程控制时。下面我们将详细探讨数组的定义、读取、替换、删除、复制和计算等操作。 ### 定义数组 在Bash中,数组的定义非常简单...
- 小括号空格法:`array=(Zero One Two)`创建一个包含三个元素的数组。 - 引号空格法:`array="Zero One Two"`创建一个单个字符串元素的数组,每个单词被视为一个元素。 - 混合法:`array=([0]="Zero" [1]="One" ...
shell数组介绍: 代码如下: //数组变量定义: $ arr=(1 3 6 8 2 5 9 0 7 4) // 默认获取第一个元素 $ echo $arr // 通过下标访问,下面取的数组第二个元素,shell数组下标是从0开始 $ echo ${arr[1]} // 访问整个...
### 小结 以上五种方法均可用来判断变量或参数是否为空。每种方法都有其特点: - **方法一** 使用`-n`选项,适用于大多数情况,简洁明了。 - **方法二** 专门用于检查命令行参数,使用场合较窄但实用。 - **方法三...
一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.echo $ 5.expr $a : ‘\(.\\).*’ 6.echo $a|dd bs=1 count=8 2>...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
实验小结 通过本手册的学习,掌握了 Shell 基础脚本操作和 Git、SVN 的安装和使用的技能,可以应用于实际的开发和运维工作中。同时,掌握了阿里云计算开发与运维实验手册的基本知识点,可以更好地学习和应用阿里云...
shell编程命令详解 shell编程是 Linux 和 Unix ...六、小结 shell 编程命令是 Linux 和 Unix 操作系统中一种强大的编程语言,通过学习 shell 编程命令,可以编写脚本以自动执行各种任务,提高工作效率和自动化程度。
1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...
查找算法和排序算法小结 本文总结了常见的查找算法和排序算法,包括顺序查找、二分查找、选择排序、冒泡排序、二分排序、插入排序、希尔排序、堆排序、归并排序等。 一、查找算法 1. 顺序查找(Sequential Search...