Contenidos
En este artículo técnico de jesusninoc.com, te mostramos cómo elimina líneas idénticas y comandos repetidos conservando únicamente el historial de comandos único utilizando un script corto en Bash de forma nativa en Linux.
Código del Script (Bash)
#!/bin/bash
HISTFILE=${1:-~/.bash_history}
EXPANDED_HIST=$(eval echo "$HISTFILE")
if [ ! -f "$EXPANDED_HIST" ]; then
echo "Archivo de historial no encontrado: $EXPANDED_HIST"
exit 1
fi
echo "Limpiando comandos duplicados del historial..."
awk '!seen[$0]++' "$EXPANDED_HIST" > "$EXPANDED_HIST.tmp" && mv "$EXPANDED_HIST.tmp" "$EXPANDED_HIST"
echo "Historial purgado."
Explicación detallada del funcionamiento
Implementa un algoritmo de deduplicación lineal ultrarrápido con awk usando un diccionario hash en memoria de líneas vistas, reescribiendo el archivo.
Análisis de Seguridad y Buenas Prácticas
🔒 Recomendaciones del Agente de Seguridad:
Modifica el archivo de historial. Resguarda un backup automático antes si deseas evitar pérdidas de auditoría del usuario.

