Elimina líneas duplicadas de un archivo

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…

  1. cat pass.txt -» Lista el contenido del archivo.
  2. sort -» Ordena el contenido alfabéticamente.
  3. uniq -» Elimina las líneas duplicadas.
  4. > 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

Wallpaper: Si desean bajar el wallpaper «I Love #!/bin/bash» aquí tienen el link:

Descarga Wallpaper