当前位置: > Linux命令 >

cut 命令生成数组

时间:2014-11-27 15:30来源:linux.it.net.cn 作者:IT

1.假如有如下文件 params

192.168.1.0:student:id>1

192.168.1.1:teacher:id>2

 

2. cut 循环获取文件中所有ip数据

#!/bin/bash
#获取cut处理后的值集合
ips=$(cut -d ':' -f1 params)

echo $ips

echo ====================
#循环处理
for ip in $ips
do
        echo $ip
done
echo ==================== 

 

3.如果你想使用下标去获取文件中每一行的指定数据那么就需要把 cut 获取出来的数据加工成为数组

#!/bin/bash
#自动取数据

#获取ips地址
ips=($(cut -f1 /home/aiuap_cj/report/ips))

#获取表名称
tables=($(cut -d ':' -f1 /home/aiuap_cj/report/tables))

#获取where条件
wheres=($(cut -d ':' -f2 /home/aiuap_cj/report/tables))

#获取ip数组的长度
ip_length=${#ips[@]}

#获取table数组的长度
table_length=${#tables[@]}


echo "ip数组长度:"$ip_length
echo "table数组长度:"$table_length

echo $ips
echo $tables
echo $wheres

echo =====================
#循环遍历数组
for ((k=0;k<$ip_length;k=k+1))
do

        for ((j=0;j<$table_length;j=j+1)) 
        do

        echo ${ips[$k]}:${tables[$j]}:${wheres[$j]}

        done

echo -------------
done
echo =====================

 

解释:

对于第3中所讲述处理方式主要是为了处理配置文件类型的数据,它们每一行都要有相同的格式,只是具体内容不一样而已,这样就可以把很多本来要分写开的数据直接写入到一个文件处理即可。

 

 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容