>基本上我现在有三个用户登录到我的机器。测试用户 1、测试用户 2 和测试用户 3。
我想用手指获取用户名,全名和他们登录机器的时间。
我想输出这样的信息:
Login Name Login Time
testuser1 Test User1 1300
testuser2 Test User2 1600
testuser3 Tesr User3 1930
我在登录和名称之间有两个选项卡,在登录时间之间有三个选项卡。每个标题下方的用户信息也是如此。
我无法弄清楚如何很好地从手指中提取这些数据,我绝对无法弄清楚如何将信息放入漂亮、整洁、可读的列中。提前感谢任何帮助!
这可能并不完美,所以你必须玩substr
起点和终点。应该足够好,可以让你入门:
finger -s testuser1 testuser2 testuser3 | awk '{print substr($0,1,31),substr($0,46,14)}'
尝试:r!finger
. 在我的Mac上,我得到了很好的专栏。 扬子晚报.
:help :r!
这是使用awk
的另一种方法:
finger -l | awk '{ split($1, a, OFS); print a[2], a[4], substr($3, 20, 6) }' FS="n" RS= | column -t
finger
的 -l
标志生成多行格式(并且与-s
标志兼容)。当缺少"name"等字段时,这很有用。然后,我们可以在段落模式下使用 awk
处理记录。在我上面的示例中,您可以调整子字符串以适应您选择的日期规范。如果您有gawk
,那么如果您希望更改规范,您将可以访问一些您可能感兴趣的时间函数。最后,您可以将感兴趣的字段打印到column -t
中以进行漂亮的打印。呵呵。