- 浏览: 311040 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
liuyong19832011:
,赞一个
Java通过BufferedWriter追加内容到文件末尾的几种常用方法 -
justjavac:
总结很好,怎么没人支持呢?最近发现iteye踩贴现象很严重。
shell数组的使用
转自:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html
1.数组定义
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a
1
一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值
得到长度:
[chengmo@centos5 ~]$ echo ${#a[@]}
5
用${#数组名[@或*]} 可以得到数组长度
读取:
[chengmo@centos5 ~]$ echo ${a[2]}
3
[chengmo@centos5 ~]$ echo ${a}
1 2 3 4 5
用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
赋值:
[chengmo@centos5 ~]$ a[1]=100
[chengmo@centos5 ~]$ echo ${a}
1 100 3 4 5
[chengmo@centos5 ~]$ a[5]=100
[chengmo@centos5 ~]$ echo ${a}
1 100 3 4 5 100
直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素
删除:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a}
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a[1]
[chengmo@centos5 ~]$ echo ${a}
1 3 4 5
[chengmo@centos5 ~]$ echo ${#a}
4
直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
3.特殊使用
分片:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5
[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${#c[@]}
4
[chengmo@centos5 ~]$ echo ${c}
2 3 4 5
直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。
替换:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100})
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 100 4 5
调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。
1.数组定义
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a
1
一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值
得到长度:
[chengmo@centos5 ~]$ echo ${#a[@]}
5
用${#数组名[@或*]} 可以得到数组长度
读取:
[chengmo@centos5 ~]$ echo ${a[2]}
3
[chengmo@centos5 ~]$ echo ${a
用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
赋值:
[chengmo@centos5 ~]$ a[1]=100
[chengmo@centos5 ~]$ echo ${a
[chengmo@centos5 ~]$ a[5]=100
[chengmo@centos5 ~]$ echo ${a
直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素
删除:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a
[chengmo@centos5 ~]$ unset a[1]
[chengmo@centos5 ~]$ echo ${a
[chengmo@centos5 ~]$ echo ${#a
直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
3.特殊使用
分片:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5
[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${#c[@]}
4
[chengmo@centos5 ~]$ echo ${c
直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。
替换:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100})
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 100 4 5
调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。
发表评论
-
[转]Linux文件查找命令find,xargs详述
2013-04-25 17:14 1013http://www.cnblogs.com/serendip ... -
Shell编程中Shift的用法[转]
2013-04-25 17:02 994[转]:http://www.cnblogs.com/imag ... -
ANT 执行SHELL脚本
2013-03-20 09:20 5318ANT 执行SHELL脚本 solaris环境 [1]vi ... -
eval学习与应用
2013-04-25 17:09 1089eval的作用是再次执行命 ... -
awk使用经验
2013-03-14 16:37 01. 统计列数。 FIELD_NUM=`cat "$ ... -
【转】用shell生成简单格式的xml
2013-02-25 21:53 2134http://blog.csdn.net/dengzhaoqu ... -
shell数组的使用
2012-08-31 10:40 1482B shell #!/bin/bash #set -x ... -
在sed中使用变量 通常,我们使用sed进行变量替换的时候,替换和被替换变量都是hard-coded的。例如: sed -n ‘/comm/p’ /tmp/
2012-07-17 10:44 2534在sed中使用变量 通常,我们使用sed进行变量替换的时候, ... -
shell中的文件分类、合并和切割
2012-06-29 09:45 3319sort用法 s o r t命令选项很长,下面仅介绍各种选项。 ... -
shell合并两个文件(列)
2012-06-29 09:45 11321题目如下: file1. 1 2 2 3 3 4 4 ... -
shell中cut命令的使用方法
2012-06-28 22:23 1870cut命令是用来剪下文本文件里的数据,文本文件可以是字段类型或 ... -
shell合并两个文件
2012-06-28 16:48 1169file1. 1 2 2 3 3 4 4 5 5 6 ... -
read读入分隔符
2012-06-28 08:49 1324$ cat 1.txt 1,a 2 ... -
sort命令
2012-06-12 10:19 1007实用的分类sort操作 ... -
sed替换
2012-06-28 16:49 1077比如,要将目录/modules下面所有文件中的zhangsan ... -
grep正则表达式
2012-06-28 16:48 1124grep the regex.txt grep "t ... -
shell字符串截取
2011-12-14 09:28 1220sed "s/\'/\'\'/g" a.t ... -
shell的while循环
2011-12-14 09:15 1272#!/bin/sh #filename:2.sh b=9 ... -
Shell计算
2011-12-12 14:03 821echo "这是计算:1+2+3+...的函数&qu ... -
Shell变量名使用的特殊字符
2011-09-08 11:28 1659$# 传送给命令Shell的参数序号 ...
相关推荐
shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} for var in ${arr[@]} do echo 打印的内容:$var done 输出的内容如下: 以上...
本篇文章将深入探讨Linux Shell数组的创建、读取、赋值以及一些特殊的使用技巧。 1. **数组定义**: 在Shell中,数组的定义非常直观。例如,创建一个包含1到5的数组可以这样写: ``` a=(1 2 3 4 5) ``` 这里的...
下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。...
总之,掌握Shell基础知识对于理解和操作Unix/Linux系统至关重要,无论是日常命令行交互还是编写自动化脚本,都会用到这些概念和技巧。了解并熟练运用变量、数组、控制结构、函数和调试方法,能够极大地提高工作效率...
在Linux Shell中,数组的使用技巧包括创建、读取、赋值、删除以及一些特殊操作,如分片、替换等。 首先,创建数组非常简单。例如: ```bash a=(1 2 3 4 5) ``` 这创建了一个名为`a`的数组,包含五个元素。数组元素...
Shell 数组 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。...我们也可以使用下标来定义数组: array_name[0]=value0 array_name[1]=value1 ar
以下是对Linux Shell数组建立及使用技巧的详细说明: 1. **数组定义**: 在Shell中,数组的定义简单直观。例如,我们可以这样创建一个包含1到5的数组: ``` a=(1 2 3 4 5) ``` 这里,一对括号定义了一个数组`a...
Shell 数组与关联数组 1.数组 1.1. 数组定义 一对圆括号表示数组,数组元素之间用空格符号分割 xiaosi@Qunar:~$ a=(1 2 3) xiaosi@Qunar:~$ echo $a 1 xiaosi@Qunar:~$ a=(yoona lucy tom) xiaosi@Qunar:~$ echo $a...
本文将深入探讨Linux Shell数组的使用方法,包括声明、赋值、访问和遍历数组,以及如何在实际场景中应用数组,如处理环境变量。 首先,Shell数组在Bash中是默认支持的,尽管它只是一维数组,但可以包含无限数量的...
shell中数组的定义及遍历,先直接看示例: #!/bin/sh #定义方法一 数组定义为空格分割 arrayWen=(a b c d e f) #定义方法二 arrayXue[0]=m arrayXue[1]=n arrayXue[2]=o arrayXue[3]=p arrayXue[4]=q arrayXue[5]=r...
说明:shell中数组的下标默认是从0开始的 1、将字符串放在数组中,获取其长度 代码如下:#!/bin/bashstr=”a b –n d”array=($str)length=${#array[@]}echo $length for ((i=0; i<$length; i++))doecho ${array...
在Shell脚本编程中,有时我们需要将数组作为参数传递给函数。然而,由于Shell的特殊性,直接传递数组可能会导致只传递第一个元素的情况。本文将详细介绍如何正确地使用数组作为函数参数。 首先,让我们分析问题的...
本文将详细介绍如何使用 Linux Shell 来找出一个包含多个一维数组的多维数组中的最大值和最小值。 #### 核心知识点: 1. **Shell 数组的定义与使用** 2. **Shell 脚本中的循环结构** 3. **条件判断与变量赋值** 4....
在应用技巧部分,我们看到如何使用`seq`生成连续数组系列,如`a=($(seq 1 3 10))`,这将创建一个数组`a`,包含1、4、7和10。此外,通过指定间隔字符(如`-s '#'`),可以生成特定格式的序列,然后通过`sed`或其他...
本文为大家介绍linxu shell中数组的相关知识,并举了很多例子供参考,包括数组的复制,计算,删除,替换等,是学习shell 数组的不可多得的好文章。 数组的声明: 1)array[key]=value # array[0]=one,array[1]=two2)...
本篇将详细讲解Linux Shell中的两种数组类型:序列数组和关联数组,并提供实例来帮助理解它们的使用方法。 1. **关联数组** 关联数组,也称为哈希表或字典,允许我们使用任意字符串作为索引来存储和检索值。在...