Список истории без отметки времени и уникальных результатов

Используя bash, я сохраняю свою историю с отметкой времени.

Как распечатать историю без метки времени?

alias h=history
alias g=grep -i

Чтобы найти строки, которые я использовал для heroku, я набираю:

> h | g heroku

Я хотел бы уникальные результаты без отметки времени, естественно.

Этот вопрос несколько связан с: Как избежать повторяющихся записей в .bash_history

Однако иногда я хочу увидеть дубликат в истории, чтобы увидеть контекст, в котором была команда бежать.

7
задан 13 April 2017 в 15:24

3 ответа

Просто, история | sed 's /. [] *. [0-9] *. [] * //' | uniq | grep -i "heroku"

sed удалит любые [пробелы] [числа] [пробелы] в начале каждой строки

для оптимизации make it

history | grep -i "героку" | sed 's /. [] *. [0-9] *. [] * //' | uniq

2
ответ дан 13 April 2017 в 15:24

Добавление в ответ @devav2

Очистить/удалить переменную окружения временнóй метки истории

HISTTIMEFORMAT="";

Экспорт следующей команды,

экспорт HISTCONTROL=gnoredups --> Это проигнорирует дубликаты, которые выполняются последовательно

2
ответ дан 13 April 2017 в 15:24

Временная метка может быть подавлена ​​(или изменена) для каждого пользователя. основа команды:

Если переменная HISTTIMEFORMAT установлена, а не null, используется ее значение в виде строки формата для strftime (3), чтобы распечатать связанную отметку времени с каждой отображаемой записью в истории. В противном случае отметки времени не печатаются.

Остается только номера строк, которые нельзя подавить, но которые дополнены до фиксированной ширины (для номеров строк <100 000):

printf("%5d%c %s%s\n", line_number, modified ? '*' : ' ', timestamp, line);

Таким образом, чтобы удалить префикс из каждой строки, нам нужно вырезать первые 7 символов (5 цифр, 1 символ маркера и 1 пробел), например:

$ HISTTIMEFORMAT= history 10 | cut -c8-

Это можно легко добавить к псевдониму:

$ alias h='HISTTIMEFORMAT= history | cut -c8-'

Затем вызывается, например:

$ h | grep whatever
$ h | head -n 10
1
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

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