Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 显示自提供日期以来未登录的用户_Bash_Grep - Fatal编程技术网

Bash 显示自提供日期以来未登录的用户

Bash 显示自提供日期以来未登录的用户,bash,grep,Bash,Grep,我在一个Unix机器上,我试图创建一个脚本,用户输入一个日期(月和日),例如11月15日。它将搜索“last”并显示自提供的日期以来未登录的用户,我如何才能做到这一点 因此,如果他们的用户在过去的20个 user1 user2 etc... 最后一次登录的时间是11月10日,1次是11月12日 如果我使用脚本搜索11月11日,它将显示11月12日登录的用户名 有什么想法吗? 谢谢虽然我认为您可以使用'last'命令(带有大量与日期相关的编码),但使用'lastlog'可能更简单-如果您必须使用

我在一个Unix机器上,我试图创建一个脚本,用户输入一个日期(月和日),例如11月15日。它将搜索“last”并显示自提供的日期以来未登录的用户,我如何才能做到这一点

因此,如果他们的用户在过去的20个

user1
user2
etc...
最后一次登录的时间是11月10日,1次是11月12日

如果我使用脚本搜索11月11日,它将显示11月12日登录的用户名

有什么想法吗?
谢谢

虽然我认为您可以使用'last'命令(带有大量与日期相关的编码),但使用'lastlog'可能更简单-如果您必须使用'date',则需要将其转换为'days'

Usage: lastlog [options]

Options:
  -b, --before DAYS             print only lastlog records older than DAYS
  -h, --help                    display this help message and exit
  -t, --time DAYS               print only lastlog records more recent than DAYS
  -u, --user LOGIN              print lastlog record of the specified LOGIN
i、 e

lastlog -b 10 # show logins older than 10 days - will be a large list  

lastlog -b 10 | egrep -ve "Never logged in" # or build an exclusion list  
:)

Dale

您的第一段说明您希望“自提供的日期以来未登录的用户”您的最后一段说“如果我给它第11个,它将显示12个登录的用户名”是哪个?自提供日期起未登录的用户,还是自提供日期起已登录的用户?“搜索'last'”是什么意思?我指的是unix上显示所有人上次登录时间的last命令。这就是我将用来计算最后一次登录的时间。它可以是任何日期。它只是一个示例示例示例数据、筛选条件(在本例中为日期)、预期输出有助于消除问题定义的歧义。考虑到您的示例输入,考虑更新您的问题以包括示例过滤器和预期输出。祝你好运检查最后登录的用户只会显示登录用户的列表。如果您对未登录的用户感兴趣,则需要访问该用户集,通常通过运行
getentpasswd
检索。一旦两者都有了,你就需要到达十字路口。