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)
1.假如有如下文件 params 192.168.1.0:student:id>1 192.168.1.1:teacher:id>2
2. cut 循环获取文件中所有ip数据
#!/bin/bash echo $ips
echo ====================
3.如果你想使用下标去获取文件中每一行的指定数据那么就需要把 cut 获取出来的数据加工成为数组
#!/bin/bash
#获取ips地址
#获取表名称
#获取where条件
#获取ip数组的长度
#获取table数组的长度
echo $ips
echo =====================
for ((j=0;j<$table_length;j=j+1)) echo ${ips[$k]}:${tables[$j]}:${wheres[$j]} done
echo -------------
解释: 对于第3中所讲述处理方式主要是为了处理配置文件类型的数据,它们每一行都要有相同的格式,只是具体内容不一样而已,这样就可以把很多本来要分写开的数据直接写入到一个文件处理即可。
|