单个获取
编写角本pingip.sh
#!/bin/sh
ADDR=qq.com
TMPSTR=`ping ${ADDR} -c 1 | sed ‘1{s/[^(]*(//;s/).*//;q}‘`
echo ${TMPSTR}
echo ${TMPSTR} >> 666.txt
执行结果
haima@haima-PC:~/Desktop$ sh pingip.sh
58.250.137.36
批量获取
思路:
从文件里循环读取每行域名,然后获取,输出到文件里
新建domain_list.txt
文件
qq.com
baidu.cn
留言个空行,否则读到最后一行域名
编写角本代码pingip_batch.sh
#!/bin/bash
filename=domain_list.txt # 要读取的文件
proc_cnt=0 # 计数器
cat $filename | while read LINE # 循环读取
do
echo ""
proc_cnt=`expr $proc_cnt + 1`
echo "processing $proc_cnt $LINE"
dumpstring=`ping ${LINE} -c 1 | sed ‘1{s/[^(]*(//;s/).*//;q}‘`
echo ""
echo $dumpstring
echo $dumpstring >> domain_list-resp.txt
sleep 0.05
done
执行
haima@haima-PC:~/Desktop/获取ip$ sh pingip_batch.sh
processing 1 qq.com
58.250.137.36
processing 2 baidu.cn
220.181.38.148
输出文件: