Simplesmente, history | sed 's/.[ ]*.[0-9]*.[ ]*//' | uniq | grep -i "heroku"
o sed
removerá os [espaços] [números] [espaços] no início de cada linha
para otimização,
history | grep -i "heroku" | sed 's/.[ ]*.[0-9]*.[ ]*//' | uniq
Usando o bash, salvei meu histórico com o timestamp.
Como imprimir o histórico omitindo o registro de data e hora?
alias h=history
alias g=grep -i
Para encontrar as linhas que usei para o heroku, digite:
> h | g heroku
Gostaria de destacar os resultados sem o carimbo de data e hora, naturalmente.
Esta questão é um pouco relacionada: Como evitar entradas duplicadas em .bash_history
No entanto, às vezes, quero ver a duplicata no histórico para ver o contexto no qual um comando foi executado.
Simplesmente, history | sed 's/.[ ]*.[0-9]*.[ ]*//' | uniq | grep -i "heroku"
o sed
removerá os [espaços] [números] [espaços] no início de cada linha
para otimização,
history | grep -i "heroku" | sed 's/.[ ]*.[0-9]*.[ ]*//' | uniq
Além de responder por @ devav2
Limpar / anular a variável de ambiente de registro de data e hora do histórico
HISTTIMEFORMAT="";
Exportar o seguinte comando,
export HISTCONTROL=ignoredups
- > Isto irá ignorar as duplicatas que são executadas em sequência
O registro de data e hora pode ser suprimido (ou modificado) por comando:
% bl0ck_qu0te%Isso apenas deixa os números de linha, que não podem ser suprimidos, mas que são acolchoado com uma largura fixa (para números de linha < 100.000):
printf("%5d%c %s%s\n", line_number, modified ? '*' : ' ', timestamp, line);
Assim, para remover o prefixo de cada linha, precisamos recortar os primeiros 7 caracteres (5 dígitos, 1 caractere marcador e 1 espaço), por exemplo:
$ HISTTIMEFORMAT= history 10 | cut -c8-
Isso pode ser facilmente adicionado a um alias:
$ alias h='HISTTIMEFORMAT= history | cut -c8-'
Em seguida, invocado com, por exemplo:
$ h | grep whatever
$ h | head -n 10