我写了这个简单的 awk 程序:
last -n 10 | awk'{print "username: " $1}'
当我得到以下输出时,我感到很惊讶:
> username: someUsername1
> username: someUsername2
> username: someUsername3
> ...
> username: someUsername10
> username:
> username: wtmp
使用last -n 10 | wc -l
我了解到该last
命令返回的行比我给它的数字多两行(输出是12
)
我检查了一下,man last
没有发现任何关于这两条额外的线或如何摆脱它们的信息。
那些空白和“wtmp”行是什么?我怎么能忽略它们呢?(也许在 awk 的旁边?)
谢谢!
一个适用于任何地方的通用解决方案,当登录数据库中的条目少于十个时,是修剪最后两行:
最新版本
util-linux
(2.30.2 及更高版本)允许wtmp
删除该行:如果我在没有任何参数的情况下运行 last,我会得到以下输出:
在它之前有一个空行。这是记录登录的日期。
您可以使用 head 摆脱它。