某个目录下有两个文件a.txt和b.txt,文件格式为(ip,username),
列如:
a.txt
127.0.0.1 zhangsan
127.0.0.1 wangxiaoer
127.0.0.2 lisi
127.0.0.3 wangwu
b.txt
127.0.0.4 lixiaolu
127.0.0.1 lisi
每个文件至少100万行,请使用Linux命令完成如下工作:
1)每个文件各自的ip数
2)出现在b.txt而没有出现在a.txt的ip
3)每个user出现的次数以及每个user对应的ip数
答:1)
cat a.txt | awk -F" " '{print $1}' | sort -u > ipa.txt
wc -l ipa.txt
cat b.txt | awk -F" " '{print $1}' | sort -u > ipb.txt
wc -l ipb.txt
2)diff ipa.txt ipb.txt | grep \> | awk -F" " '{print $2}'
3)cat a.txt b.txt | awk -F" " '{u[$1" "$2]+=1} END{for(i in u) print i,u[i]}'
| awk -F" " '{u[$2]+=$3;ip[$2]+=1}