`

shell数组小结

 
阅读更多

数组的声明:

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脚本数组操作小结

    Shell脚本中的数组操作是日常自动化任务中非常实用的功能,特别是在处理批量数据和流程控制时。下面我们将详细探讨数组的定义、读取、替换、删除、复制和计算等操作。 ### 定义数组 在Bash中,数组的定义非常简单...

    Shell脚本数组用法小结

    - 小括号空格法:`array=(Zero One Two)`创建一个包含三个元素的数组。 - 引号空格法:`array="Zero One Two"`创建一个单个字符串元素的数组,每个单词被视为一个元素。 - 混合法:`array=([0]="Zero" [1]="One" ...

    shell中的数组操作小结和冒泡排序实现脚本分享

    shell数组介绍: 代码如下: //数组变量定义: $ arr=(1 3 6 8 2 5 9 0 7 4) // 默认获取第一个元素 $ echo $arr // 通过下标访问,下面取的数组第二个元素,shell数组下标是从0开始 $ echo ${arr[1]}  // 访问整个...

    Shell脚本中判断输入变量或者参数是否为空的方法

    ### 小结 以上五种方法均可用来判断变量或参数是否为空。每种方法都有其特点: - **方法一** 使用`-n`选项,适用于大多数情况,简洁明了。 - **方法二** 专门用于检查命令行参数,使用场合较窄但实用。 - **方法三...

    shell编程中的字符串截取方法小结

    一、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>...

    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 按照更改...

    shell 编程指南pdf

    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 按照更改...

    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 按照更改...

    绝版经典《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 按照更改...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    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 按照更改...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    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 按照更改...

    LINUX与UNIX SHELL编程指南 高清PDF

    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 按照更改...

    跟老男孩学Linux运维:Shell编程实战

    / 1819.5 case条件语句的Linux系统脚本范例 / 1879.6 本章小结 / 191第10章 while循环和until循环的应用实践 / 19210.1 当型和直到型循环语法 / 19210.2 当型和直到型循环的基本范例 / 194第11章 for和select...

    Shell实验.pdf

    实验小结 通过本手册的学习,掌握了 Shell 基础脚本操作和 Git、SVN 的安装和使用的技能,可以应用于实际的开发和运维工作中。同时,掌握了阿里云计算开发与运维实验手册的基本知识点,可以更好地学习和应用阿里云...

    常用shell编程命令

    shell编程命令详解 shell编程是 Linux 和 Unix ...六、小结 shell 编程命令是 Linux 和 Unix 操作系统中一种强大的编程语言,通过学习 shell 编程命令,可以编写脚本以自动执行各种任务,提高工作效率和自动化程度。

    linux 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 按照更改...

Global site tag (gtag.js) - Google Analytics