root не может видеть HISTTIMEFORMAT в bash_history пользователя - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть небольшой вопрос о дате регистрации в bash_history для каждого пользователя.В прошлый раз, когда я устанавливал в /etc/skel/.bashrc для каждого нового пользователя:

export HISTTIMEFORMAT="%d/%m/%y %T "

Все выглядит хорошо, если мы проверяем нашу bash_history с помощью команды history в оболочке.Но только если мы вошли в систему текущего пользователя.Моя проблема, когда я хочу проверить пользовательский файл .bash_history от имени пользователя root.Поэтому я использую, например, команду less в файле /home/new_user/.bash_history (как пользователь 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 голосов
/ 28 сентября 2018

Я не знаю, что это значит: # 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
...