По какой-то причине я получаю эти нечетные номера строк или какие-то номера истории в моем ~/.zsh_history
файл так:
: 1266694881:0;rake db:migrate
Я бы предпочел не прибегать к регулярному выражению начала, но я бы хотел, чтобы мои строки были примерно такими:
rake db:migrate
Есть ли у кого-нибудь предложения, как это решить? я обнаружил setopt EXTENDED_HISTORY
но, похоже, это не так уж важно.
Пытаться:
unsetopt EXTENDED_HISTORY
Цифры - это количество секунд, прошедших с эпохи Unix, когда команда была запущена, и продолжительность выполнения команды в секундах.
Редактировать:
Я забыл упомянуть, что вам следует использовать fc
команда для взаимодействия с историей вместо анализа файла истории. На это есть как минимум пара причин. Во-первых, в файле истории нет записей в памяти до тех пор, пока вы не выйдете из оболочки, не будет достигнуто пороговое значение или вы явно не запишете его с помощью fc -AI
команда (я верю). Во-вторых, можно уйти EXTENDED_HISTORY
включены и по-прежнему взаимодействуют с записями, не удаляя эту информацию. Если он выключен, то когда вы это сделаете fc -ld
, оболочка использует время запуска оболочки в качестве метки времени для команд в истории до этого времени. Если он выключен, он запоминает фактическую дату и время (числа, которые вы видите в файле).
Видеть man zshbuiltins
.
Перечислите самые последние записи:
fc -l
Перечислите их без номеров команд:
fc -ln
Перечислите 20 последних команд без номеров команд:
fc -ln -20
Включите метку времени и распечатайте только самую последнюю команду:
fc -lnd -1
Показать все команды (в пределах последних 50), которые включают строку "setop" (показывает setopt
и unsetopt
):
fc -l -m '*setopt*' -50