Shell中数组的使用
数组是一个很有用的数据结构,经常使用的功能有初始化,遍历,查找,获取数组长度等操作
一、初始化
小括号中使用空格分开的数据结构就是一个数组,也可使用下标添加元素
arr=(1 'nice' '2days')
arr[3]='yum'
二、输出数组
echo ${arr[*]} ## *也可以使用@代替
三、遍历数组
for e in ${arr[*]};do echo $e done
四、获取指定索引元素
echo ${arr[1]}
五、获取数组长度
echo ${#arr[*]}
实际应用
1、将/usr/local下的数据放入数组
arr=`ls /usr/local` ### 也可写成:arr=$(ls /usr/local) for e in ${arr[*]};do echo $e done
2、将文件中的内容放入数组
file文件内容如下
apple,pen,orange
读取文件,通过管道,将逗号变为空格,就形成了一个数组,源文件内容不会变动
for e in `cat ./file | sed 's/,/ /g'`;do echo $e done
3、找出/usr/local下文件所有者和所在组均为tomcat的文件夹
for e in `ls -l /usr/local | awk '{print $3 $4":" $9}'`;do if [ "`echo $e | cut -d ':' -f 1`" == "tomcattomcat" ];then echo "`echo $e | cut -d ':' -f 2`" fi done