gpt4 book ai didi

linux - Bash - 从字符串中提取日期并重新格式化

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:24 27 4
gpt4 key购买 nike

在 bash 脚本中,我试图从 last 获取上次登录的日期

例如:

last bob -n 1

这给了我:

bob     tty1    Fri Jul 18 10:43 - 10:43  (00:00)

wtmp begins Wed Feb 5 17:47:13 2014

然后从该字符串中提取日期,并将其插入到 lastb 中以获取自上次成功登录以来失败登录的次数。

例如:

lastb bob -t $MYLASTLOGIN

man lastb显示日期格式需要为 -t YYYYMMDDHHMMSS

最佳答案

user=bob lastb $user -t $(date -d "$(last $user | head -n 1 | tr -s '[:space:]' '\t' | cut -f 4-7)" +%Y%m%d%H%M%S)

更易读

 user=bob
last_login=$(last $user | head -n 1 | tr -s '[:space:]' '\t' | cut -f 4-7)
datetime=$(date -d "$last_login" +%Y%m%d%H%M%S)
lastb $user -t $datetime

请注意,我的 last 输出看起来与您的略有不同,有一个额外的字段:相应地调整您的 cut

$ last glennj -n 1
glennj pts/7 :0 Sun Jul 20 19:01 still logged in

wtmp begins Fri Jul 4 21:15:28 2014

关于linux - Bash - 从字符串中提取日期并重新格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24907609/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com