Quero ter uma lista completa e ordenada do meu histórico do bash. Mas existem alguns problemas:
- Ao fazer
history
a lista nunca mostra a lista completa e apenas 1000 comandos são mostrados. - No meu$HOMEdiretório existe um arquivo chamado.bash_history que mostra resultados de 2.000.
Quando eu quero fazer uma classificação.TXT arquivo do meu histórico eu faço:
history | sort > History.txt
Mas por causa dos números, os comandos não são classificados em ordem alfabética e são classificados por número.
Existe alguma maneira de fazer o que eu quero?
Responder1
sort
pode classificar a entrada pelo campo especificado pelo usuário -k
, portanto, estritamente falando, algo assim seria o que você está procurando.
history | sort -k2 > History.txt # or -K3 if you have $HISTTIMEFORMAT, etc set
Além disso, muitas vezes há uma diferença entre o que está disponível na saída do history
comando e o que está registrado, ~/.bash_history
pois o último não é atualizado após cada comando (geralmente é atualizado apenas no logout), portanto, usar history | sort ..
é melhor para fornecer uma visão atual.
Responder2
Que tal:
cat ~/.bash_history | sort > Sorted_history.txt
para ter um histórico bash ilimitado, dê uma olhada neste controle de qualidade:
https://stackoverflow.com/questions/9457233/unlimited-bash-history