从日志中查询链接文件中的链接是否最近有访问

链接文件a.txt内容如下

1
2
http://example.com/123.txt
http://example.com/456.txt

日志文件为从cdn下载的或者nginx的压缩日志,gz格式

思路:循环zcat压缩文件,然后两个文件都做一个处理,去掉重复的部分,然后对这俩文件进行重复统计,有的话说明链接有访问

简单的示例

1
2
3
4
5
6
7
8
#!/bin/bash
gzs=$(ls |grep gz)
for gz in $gzs;
do
echo "start $gz"
zcat $gz|awk '{print $7}'|sort -n|uniq -c|sort -n > tmp.txt
cat tmp.txt a.txt| sort -n| uniq -c|sort -n |awk '{if($1>1) print $2}' >> exist.txt
done