Crear un archivo .txt completo y ordenado alfabéticamente del historial de bash

Crear un archivo .txt completo y ordenado alfabéticamente del historial de bash

Quiero tener una lista completa y ordenada de mi historial de bash. Pero hay algunos problemas:

  1. Al hacerlo, historyla lista nunca muestra la lista completa y solo se muestran 1000 comandos.
  2. En mi$INICIOdirectorio hay un archivo llamado.bash_history que muestra 2000 resultados.
  3. Cuando quiero hacer un ordenado.TXT archivo fuera de mi historial hago:

    history | sort > History.txt
    

    Pero debido a los números, los comandos no están ordenados alfabéticamente sino por números.

¿Hay alguna manera de hacer lo que quiero?

Respuesta1

sortPuede ordenar la entrada por el campo especificado por el usuario -k, por lo que, estrictamente hablando, algo como esto sería lo que está buscando.

history | sort -k2 > History.txt  # or -K3 if you have $HISTTIMEFORMAT, etc set

Además, a menudo hay una diferencia entre lo que está disponible en la salida del historycomando y lo que está grabado en ~/.bash_historyel sentido de que este último no se actualiza después de cada comando (generalmente se actualiza solo al cerrar sesión), por lo que usar history | sort ..es mejor para brindarle una vista actual.

Respuesta2

Qué tal si:

cat ~/.bash_history | sort > Sorted_history.txt

Para tener un historial de bash ilimitado, eche un vistazo a este control de calidad:

https://stackoverflow.com/questions/9457233/unlimited-bash-history

información relacionada