Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.01 KB | None | 0 0
  1. a       Gallery 44
  2. a       Gallery 52
  3. b       Message 63
  4. c       Gallery 100
  5. c       Gallery 93
  6. c       Message 62
  7. a       Memo    72
  8. a       Gallery 99
  9. a       Message 60
  10. b       Message 99
  11.  
  12. #!/bin/bash
  13.  
  14. set -eu
  15. set -o pipefail
  16.  
  17. sort -k2,2  in.in > tmp
  18.  
  19. list=($(cut -f1 tmp | sort -u ))
  20. domains=($(sort -k2,2  in.in | cut -f2 | sort -u))
  21.  
  22. for i in "${list[@]}"
  23. do
  24.     for domain in "${domains[@]}"
  25.     do
  26.         if grep -q -P "$i\t$domain" tmp; then
  27.             grep -P "$i\t$domain" tmp > tmp2
  28.            
  29.             #   res=$(awk '{ total += $3; count++ } END { printf("%.0f\n", total/count); }' tmp2)
  30.             res=$(awk '{ total += $3; count++ } END { print total/count }' tmp2)
  31.             echo -e "$i\t$domain\t$res" >> res
  32.         fi
  33.     done      
  34.    
  35. done
  36.  
  37. sort -k3 -n -r res -u  | head -n "${#domains[@]}"
  38.  
  39. #cat res
  40. # echo -e "\n"
  41. # for domain in "${domains[@]}"
  42. # do
  43. #     grep "$domain" res
  44. # done
  45.  
  46.  
  47. function clean {
  48.     rm  tmp2 tmp res
  49. }
  50.  
  51. trap clean EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement