前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell 数组

Shell 数组

作者头像
企鹅号小编
发布2017-12-27 11:47:00
5740
发布2017-12-27 11:47:00
举报
文章被收录于专栏:编程编程

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编程学习总结媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档