Shell 数组

Shell中数据类型不多,比如说字符串,数字类型,数组。数组是其中比较重要的一种,同时Shell中的数组不像JAVA/C,只能是一维数组,没有二维数组;数组元素大小无约束,也无需先定义数组的元素个数;但其索引则像JAVA/C/Python,从0开始,下面是我学习过程的一些总结。

定义:

shell的定义和python相似格式如下

数组的基本操作获取数组

读取某个下标的值:$

获取数组长度:\${#数组名[@/*]} 即\${#数组名[*]}或${#数组名[@]}

求元素长度: \${#数组名[index]}

expr length \$

\$ wc -L

添加数组

直接添加 数组[index]=值 index大于数组长度则在最后添加

利用旧数组创建新的 newArrays=($ 值)

修改数组

直接修改 数组[index]=值

删除数组

删除元素 unset 数组[index]

删除数组 unset 数组

数组的截取

和字符串相似,可以和字符串的方法对比着看。

假设有变量

1. # 号截取,从左到右进行最短匹配查找。

其中 var 是变量名,# 号是运算符,b*o 表示从左边开始查找

即删除 bo

结果是 :ok food

2. ## 号截取,从左到右进行最长匹配查找

即删除boo

结果是 k food

3. %号截取,从右到左进行最短匹配查找

%/* 表示从右边开始,删除第一个 od

结果是:book fo

4. %% 号截取,删从右到左进行最长匹配查找

%% 表示从右边开始,删除最后(最右边边)一个 o0d号

结果是:book f

5. 从左边第几个字符开始,及字符的个数

其中的 0 表示左边第一个字符开始,2 表示字符的总个数。

结果是:1 2

6. 从左边第几个字符开始,一直到结束。

其中的 1表示左边第2个字符开始,一直到结束。

结果是 :3 4

7. 从右边第几个字符开始,及字符的个数

其中的 -2表示右边算起第2个字符开始,2表示字符的个数。

结果是:3 4

8.元素切片

数组替换

$最小匹配替换,每个元素只替换一次

$最大匹配替换,每个元素可替换多次

$最小匹配删除,只删除一个符合规定的元素

$最大匹配删除,可删除多个符合规定的元素

这个和前面相似就不举例子了。

本文来自企鹅号 - java编程学习总结媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

PHP部分字符串函数汇总

我们大家知道无论哪种语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,这里为大家总结九类字...

3206
来自专栏PHP实战技术

你应该这个姿势学习PHP(2)

2、is_array(),is_bool,is_int(),is_integer(),is_numeric(),is_string(),is_object(),...

3926
来自专栏猿人谷

C++ STL算法系列4---unique , unique_copy函数

 一.unique函数 类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素。 该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回...

1776
来自专栏Java帮帮-微信公众号-技术文章全总结

第四天 数组【悟空教程】

1979
来自专栏大前端开发

ES6特性之:解构

解构(destructuring assignment), 也称解构赋值,这种语法可以方便的将数组元素或对象属性赋成新的变量。

572
来自专栏Petrichor的专栏

python: dir函数

892
来自专栏coding for love

待整理01-JS 形参与变量声明和函数声明同名怎么办?

前两天遇到一道很有意思的题目,乍看起来是一道考声明提升和变量提升的题目的,但事实上还包含了更多的知识点。下面我们一起来看一下。

863
来自专栏lzj_learn_note

1-python基础

​ 同一个变量a可以反复赋值,且可以是不同类型的变量. 这种变量本身类型不固定的语言称为动态语言, 比如python, javascript....

1552
来自专栏决胜机器学习

从机器学习学python(二) ——iteritems、itemgetter、sorted、sort

从机器学习学python(二)——iteritems、itemgetter、sorted、sort (原创内容,转载请注明来源,谢谢) 一、iteritems...

3677
来自专栏cs

c++13.0 STL[stack,queue,set,dequeue]

set相关知识点: ---- set:集合,红黑树实现 特点: 1.0 内部的元素根据其值自动排序。 2.0 内部元素只能出现一次。 set数据结...

2236

扫码关注云+社区