面试题 请使用Shell脚本实现一个程序,统计一个文本文件login.txt中每个用户登录的次数,并且按用户次数从大至小排序

请使用Shell脚本实现一个程序,统计一个文本文件login.txt中每个用户登录的次数,并且按用户次数从大至小排序

样例输入:login.txt

userA 2020-02-01 08:00:00 login
userB 2020-02-01 08:01:00 login
userC 2020-02-01 08:02:00 login
userA 2020-02-01 08:03:00 logout
userB 2020-02-01 08:04:00 logout
userA 2020-02-01 08:05:00 login
userA 2020-02-01 08:06:00 logout
userB 2020-02-01 08:07:00 login
userA 2020-02-01 08:05:00 login

样例输出:

userA 3
userB 2
userC 1

说明:

  • 用户名仅包含大小写字母
  • 当登录次数相同时,不必关注用户名顺序

cat login.txt | awk '{if($4=="login") a[$1]+=1} END{for (i in a) print i, a[i]}' | sort -k2nr

你可能感兴趣的:(面试题)