如何将用户名、全名和登录时间从手指回显到列中?我在 openSUSE13.1 上使用 bash。



>基本上我现在有三个用户登录到我的机器。测试用户 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中以进行漂亮的打印。呵呵。

相关内容

  • 没有找到相关文章

最新更新