为了偷懒直接贴shell成品代码~~~~
#!/bin/bash
#C1lear last tmpfile
TmpDirectory="/home/loki/Tmp/Ssir/"
fileA="${TmpDirectory}A.txt" # give A.txt(Sum list)
fileB="${Tmpdirectory}B.txt" # give B.txt
fileC="${Tmpdirectory}C.txt" # A Exsit ,B not Exsit
fileD="${Tmpdirectory}D.txt" # D is Domain Test
fileE="${Tmpdirectory}E.txt" # Fina result
fileF="${Tmpdirectory}F.txt" # Fina result 2
fileERROR="${Tmpdirectory}error.log" # Fina result
# Delete Tmpfiles
for DelTmp in {{C..F},ERROR}
do
[ -e $DelTmp.txt ] && /usr/bin/rm $DelTmp.txt
done
# fileB1 not have ,fileA1 have
# /usr/bin/grep -vwf $fileB $fileA > C.txt
/usr/bin/awk 'FNR==NR{a[$0];next}!($0 in a)' $fileB $fileA >$fileC
AtoBNums=`wc -l $fileC`
echo "A to B Matching result is $AtoBNums "
echo "Analysis..."
# Analysis
for i in `cat $fileC`
do
xx=`dig +short +time=1 www.$i|tail -1`
if test ${#xx} -gt 15 -o ${#xx} -eq 0;then
echo "$i is Error,$xx" >> error.log
continue
fi
echo $i $xx >> $fileD
done
Analysis=`wc -l $fileD`
echo "Analysis Done result is $Analysis"
echo "Matching..."
# Match
for j in `cat ip.txt`
do
grep $j $fileD >>$fileE
done
Match=`wc -l $fileE`
echo "Match Done result is $Match"
echo "Accessing..."
# access 200 code Web
for k in `cat $fileE|awk '{print $1}'`
do
oo=`curl -I -m 10 -o /dev/null -s -w %{http_code} $k`
# oo=`curl -s -I $k |head -1|awk '{print $2}'`
# echo $oo
if test $oo -eq 200;then
echo $k >>$fileF
fi
done
Access=`wc -l $fileF`
echo "All Done. Access result is -->$Access<--"
好了先贴代码,有空完成注释~~速度大于完美~ 预祝大家周末愉快!
未经允许不得转载:天府数据港官方信息博客 » S先生任务需求-成品展示
客官点个赞呗! (1)