JohnYork 2011-08-17
详解请见:http://suo.iteye.com/blog/1118825
从上面讲到的,大家可以发现linuxshell的数组已经很强大了,常见的操作已经绰绰有余了。
shell按行读取并保存成数组
从ip.txt里读取IP.然后把IP地址赋值到一个数组里.
IP文件如下:
Address:220.181.26.163
Address:220.181.26.174
Address:220.181.26.175
Address:220.181.26.176
Address:220.181.19.228
Address:220.181.19.229
Address:220.181.26.161
Address:220.181.26.162
方法一:
forxin`awk'{print$2}'ip.txt`
{
echo$x
}
方法二:
ARRAY=($(awk'{print$2}'ip.txt))
方法三:
n=0;whilereadab;doarray[$n]=$b;((n++));done<ip.txt
方法四:
n=1
while((n<=$(catip.txt|wc-l)))
do
ipaddr[$n]=$(catip.txt|sed-n"${n}p"|awk'{print$2}')
((n+=1))
done
n=`expr$n-1`