我对每个用户在bash_history中的日志日期有一个小问题。 上一次我为每个新用户在/etc/skel/.bashrc中设置:
export HISTTIMEFORMAT="%d/%m/%y %T "
如果我们在外壳程序中使用history
命令检查bash_history,一切似乎都很好。但仅当我们登录为当前用户时。
我的问题是当我想以root用户身份检查用户的.bash_history文件时。
所以我用例如/home/new_user/.bash_history文件上的less命令(以root用户身份!),我看到了:
#1537351240
cd ..
#1537351241
vim
#1537357293
ls -al /mnt
#1537357313
htop
我在用户命令附近看不到正确的日期格式,也不知道这是什么意思:#1537357313
?
我只想更改这种正常的输出格式:
3 28/09/18 15:31:50 cd ..
4 28/09/18 15:31:52 vim
5 28/09/18 15:31:57 ls -al /mnt
6 28/09/18 15:32:10 htop
(上面的日期为示例)
答案 0 :(得分:0)
我不知道这是什么意思:#1537357313吗?
这是unix时间戳:
date -d @1537357313
Wed, Sep 19, 2018 1:41:53 PM
因此您可以使用awk
处理此文件:
awk '/^#/{t=strftime("%d/%m/%y %T",substr($1,2));next}t{print ++i,t,$0}' file
1 19/09/18 12:00:40 cd ..
2 19/09/18 12:00:41 vim
3 19/09/18 13:41:33 ls -al /mnt
4 19/09/18 13:41:53 htop