cho*_*hop 4 unix macos awk sed
如果我在OS X上运行它:
last -10 | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
我得到:剁
剁
剁
chrihopk
重启
关机
剁
剁
剁
chrihopk
如何使用sed或awk获取最频繁的用户'chop'?
对问题的其他编辑:
我们的本地管理员帐户会干扰结果(用户名:支持),并且我们通常会在客户端框中添加新的启动器.
我怎么能修改
last -1
Run Code Online (Sandbox Code Playgroud)
省略以下内容并返回最后一个有效用户名:
支持
重启
关机
谢谢
bash$ last -10 | awk '{print $1}' | sort | uniq -c | sort -nr | head -1 | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
sort -un 做了什么,但我不确定是什么......
bash$ echo -e 'bob\nbob\ncat\ncat\ncat\ndog'
bob
bob
cat
cat
cat
dog
bash$ echo -e 'bob\nbob\ncat\ncat\ncat\ndog' | sort | uniq -c | sort -nr
3 cat
2 bob
1 dog
bash$ echo -e 'bob\nbob\ncat\ncat\ncat\ndog' | sort -un
bob
bash$ echo -e 'bob\nbob\ncat\ncat\ncat\ndog' | sort | uniq -c | sort -nr | head -n1 | awk '{print $2}'
cat
Run Code Online (Sandbox Code Playgroud)
如果你想
一个漂亮的升序用户列表,其中包含登录次数(这些$0!~/^$/东西只能确保空行不计算):
last | awk '$0!~/^$/ {print $1}' | sort | uniq -c | sort
Run Code Online (Sandbox Code Playgroud)用户名和登录号码:
附加| tail -1到上面的代码.
在awk(更快)中与上面相同:
last | awk '{a[$1]++}END{m=0;for(v in a){if(a[v]>m){m=a[v];u=v}}print m,u}'
Run Code Online (Sandbox Code Playgroud)仅在awk中的用户名:
m,从上面的代码中删除最后一个.
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |