кто-b формат даты варьируется странно

Я пришел к заключению, что не возможно добавить новые команды непосредственно и в то же время для удаления любых дубликатов. Таким образом, мое решение состоит в том, чтобы выполнить следующие команды в некоторое время. или помещать его в мой crontab.

tac $HOME/.bash_history | awk '!seen[$0]++' | tac > $HOME/.hist_Temp 
mv $HOME/.hist_Temp $HOME/.bash_history

Вышеупомянутая команда сохранит последнее вхождение команды и удалит любые повторения выше его из файла истории, не портя порядок.

1
04.11.2013, 23:47
1 ответ

Это происходит, вероятно, из-за изменения локали:

$ locale | grep LC_TIME
LC_TIME="en_GB.UTF-8"
$ who -b
         system boot  2013-11-04 10:04
$ LC_TIME=C who -b
         system boot  Nov  4 10:04

Возможно, Ваша локаль была изменена и не вступила в силу до окончания перезагрузки (возможно, Вы не обновили свою среду после изменения). Что касается того, почему это выглядит по-другому в демоне, это, вероятно, имеет другое значение для LC_TIME или никакое значение вообще.

Можно получить дату с помощью чего-то вроде этого (дополнительно замена en_GB.UTF-8 с любой локалью, которая приводит к этому формату, так как у Вас не может быть той локали в Вашей системе):

$ LC_TIME=en_GB.UTF-8 who -b | awk '{ print $3 " " $4 }'
2013-11-04 10:04
2
27.01.2020, 23:38

Теги

Похожие вопросы