Я нашел этот ответ об истории отметок времени для Bash.

Есть ли способ перестановки вывода? Особенно

Number command time-stamp

скорее, чем

Number time-stamp command

1 ответ1

1

Вы можете обработать вывод встроенной history . Сначала подготовьте свой HISTTIMEFORMAT соответствии с ответом, который вы указали :

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

Чтобы получить желаемый результат, вызовите:

history | awk '{ printf "%s\t",$1; for(i=4; i<=NF; i++) printf "%s",$i OFS; printf "\t%s %s\n",$2,$3 }'

Если вы перезаписываете history встроенную функцией:

history() { builtin history | awk '{ printf "%s\t",$1; for(i=4; i<=NF; i++) printf "%s",$i OFS; printf "\t%s %s\n",$2,$3 }'; }

тогда достаточно написать history чтобы получить то, что вы хотите.

Примечание: ведущие пробелы и форматирование столбцов из пустого вывода history теряются. Так как командное поле не имеет фиксированной длины, располагать его посередине не самая лучшая идея. Я специально разделил поля табуляцией (вместо пробелов), чтобы сделать вывод более читабельным. Если вы предпочитаете пробелы, замените \t в моем коде на (пространство).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .