shell 列表操作

这是列表的各种添加方式,拷贝自他人博客。详细用法参考https://blog.csdn.net/asty9000/article/details/87103111

删除列表元素用法:

unset array_name[index]

其中,array_name 表示数组名,index 表示数组下标。如果不写下标,写成下面这样就是删除整个数组:

unset array_name

下图是我本人借助这两个用法写得的一个具体的脚本,通过以下这些ip段,把所有ip输出到一个列表中:

#!/bin/bash 
declare -a iplist
line_count=`cat lt_ip.txt | wc -l`
for((a=1;a<=${line_count};a++));do
   start_ip=`sed -n "${a}p" lt_ip.txt | awk '{print $1}'`
   end_ip=`sed -n "${a}p" lt_ip.txt | awk '{print $1}'`
   #截取ip段,比如是1.1.1.1这个ip,这里就是1.1.1
   ip_duan=${start_ip%.*}
   #echo "$ip_duan"
   #计算ip段的个数,比如1.1.1.1-1.1.1.7,这就是7-1
   let ip_cha=${end_ip##*.}-${start_ip##*.}
   #如果ip_cha=0,就是表示这个段就只有一个ip
   if [ "$ip_cha" -eq 0 ];then
      #echo "$start_ip"
      iplist+=($start_ip)
      companylist+=($company)
   ##如果ip_cha不等于0,就计算这个范围有多少个ip
   else
      let end_postion=${start_ip##*.}-1
      let number=${ip_cha}+1
      #echo "$end_postion"
      for ((b=1;b<=${number};b++));do
          let end_postion+=1
          ip=`echo ${ip_duan}.${end_postion}`
          #echo "$ip"
          iplist+=($ip)
          companylist+=($company)
      done
   fi
done 
#echo "${iplist[@]}"

#以下这部分就是通过找出的所有ip列表,针对这些ip去找这些xml文件里面域名以及顶级域名,可不理会
for i in ${iplist[@]};do
    declare -a topdomainlist
    declare -a domainlist
    for j in `ls *.xml`;do
      topdomain=`cat $j | grep -B 1 "$i" | grep "<topDomain>" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'`
      domain=`cat $j | grep -B 7 "$i" | grep "<findDomainListDomain>" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'`
      topdomainlist+=($topdomain)
      domainlist+=($domain)
    done
    echo "$i | ${topdomainlist[@]} | ${domainlist[@]}" >> lt_ip_domain.txt
    unset topdomainlist
    unset domainlist
    #echo " ${domainlist[@]}" 
done

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值