gaojinguan 发表于 2018-8-28 08:55:35

shell uniq 和sort 简单用法及实例

  以第1域的第二个字符来排序,如果该域只有1个字符则按数字先,字母后的顺序排在够2个字符的正常排序的后面
  uniq 中的重复行为连续不段重复的行,如:
  1
  1
  2
  2
  而sort中-u来实现唯一性的,也就是去除重复行的意义为:
  1
  1
  2
  2
  和
  1
  2
  3
  1
  两种
  我思考了半天才想通,先排序把相邻的都拍到了一起,然后用uniq去显示邻接的次数
  awk '{print $5}' zzz |awk -F \/ '{print $3}' |sort -n |uniq -c
  5 gbcd
  2 Gbcd
  3 2222
  awk '{print $5}' zzz |awk -F \/ '{print $3}' |uniq -c |sort -n
  1 Gbcd
  4 gbcd
  1 Gbcd
  1 2222
  1 gbcd
  2 2222
  因为在一家虚拟主机和IDC公司工作,所以经常会发生网站被***的现象,虚拟主机在服务器会有多个网站,为了从日志中查出那个域名的网络次数及访问流量过大在而写下如下操作。
  如实用的为:
  tail -f /var/log/http/access |awk '{print $5}' zzz |awk -F \/ '{print $3}' |sort -n |uniq -c
  或
  tail -f /var/log/http/access >>abc
  再
  sort -n abc |uniq -c
  这样就可以测出在某段时刻内一些域名的访问次数。
  2009-09-01

页: [1]
查看完整版本: shell uniq 和sort 简单用法及实例