Estoy haciendo un diccionario de passwords más usados, los populares o frecuentemente más usados por los usuarios (… no pregunten el por qué… JAJAJA), para ello estoy tomando texto de otros diccionarios etc, pero, me veo en la situación de que hay muuuchos passwords duplicados, y necesito eliminar las líneas duplicadas.
O sea, por ejemplo … tenemos el siguiente archivo: pass.txt
Y su contenido es:
asdasd
lola
love
asdasd
windows
admin
linux
asdasd
love
Como vemos, tenemos repetido «love» y «asdasd«, este último 3 veces. ¿cómo eliminar las líneas duplicadas?
Para hacerlo es simple, con este comando:
cat pass.txt | sort | uniq > pass-listos.txt
Esto nos generará un archivo llamado pass-listos.txt que contendrá:
admin
asdasd
linux
lola
love
windows
Lo que hace el comando es MUY simple…
- cat pass.txt -» Lista el contenido del archivo.
- sort -» Ordena el contenido alfabéticamente.
- uniq -» Elimina las líneas duplicadas.
- > pass-listos.txt -» El resultado de los comandos anteriores, ponlo en el archivo pass-listos.txt (que, como no existe, lo creará)
Así de simple… recién descubro que el comando sort sí, es muy bueno… pero, unido a uniq, son una joya de arte
Espero les haya sido de utilidad.
Saludos