root在用户的bash_history中看不到HISTTIMEFORMAT

时间:2018-09-28 13:46:43

标签: linux bash shell command root

我对每个用户在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 

(上面的日期为示例)

1 个答案:

答案 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