BERUBY

beruby.com - Empieza el día ahorrando

miércoles, 26 de enero de 2011

Reparar diccionarios: formato DOS a Unix

En este artículo voy a explicar cómo se transforma un diccionario de texto plano en formato DOS (el usado por Windows) a formato Unix (usado en Linux) y resolver alguna incidencia.

Empezaremos matizando que no son formatos distintos, simplemente cada sistema utiliza distintos identificadores de fin de línea. Si abrimos un archivo de Linux en Windows veremos que no hay separaciones entre las distintas líneas, todo el texto estaría seguido en una misma fila. A esto se le denomina “EOL format” (end of line format).  

Algunos de los programas que usamos para buscar contraseñas están diseñados en un principio para Linux, como coWPAtty, y al usarlos en Windows tendremos que contar con diccionarios en formato Unix, o viceversa. Si tenemos un diccionario en formato DOS y lo queremos usar en Linux tendremos que transformarlo primero.

Para realizar la conversión utilizaremos un editor de texto avanzado, como UltraEdit o Notepad++ u otro.
UltraEdit es de lo mejorcito en cuanto a editores de texto pero es de pago. Página oficial de UltraEdit.
Notepad++ es muy bueno y además es gratuito. Bájalo de la pagina oficial de Notepad++.

Empecemos:
En primer lugar abrimos nuestro diccionario para echarle un vistazo con el block de notas de Windows 

Vemos que cada palabra está en una fila con lo que podemos deducir que tiene formato DOS. Para transformarlo lo abrimos con el editor de texto avanzado que tengamos, en este caso UltraEdit.



Al abrir el diccionario si nos fijamos en el centro de la parte inferior nos confirmara que formato EOL tiene el archivo. En este caso es DOS como imaginábamos.
Para convertir el archivo a formato Unix simplemente vamos a “File” y clicamos en “Save as…” o pulsamos F12

En el dialogo “guardar como” que se abre seleccionamos “Unix terminators – LF” de la pestaña “Line Terminator:” y guardamos el archivo.


Y ya tendríamos nuestro diccionario en formato Unix. Para comprobarlo abrimos el nuevo diccionario con UltraEdit. En primer lugar nos preguntara si queremos convertir el archivo a formato DOS y lógicamente hacemos clic en “No”. 

         
Al abrirse nos fijamos en la zona central inferior del programa donde nos dice que el archivo esta efectivamente en formato Unix.



Con el programa Notepad++ el proceso es algo distinto y lo explico a continuación.
Primero abrimos nuestro diccionario con Nottepad++ y si nos fijamos en la parte inferior derecha nos dirá en que formato está el archivo.

El siguiente paso es pinchar en “Editar”, “EOL Conversion”, “Convertir a formato Unix”.

Ahora el archivo ya está en formato Unix, nos fijamos en la parte inferior derecha.

Ya solo nos falta guardar el archivo. Vamos al menú “Archivo” y pinchamos en “Guardar como…” y lo guardamos con el nombre que queramos y en la pestaña “Tipo” lo dejamos como esta, en “Normal text file”


Bien ya tenemos nuestro diccionario en formato Unix pero vamos a ver qué aspecto tiene si lo abrimos con el block de notas de Windows.


Ahora las palabras están seguidas pero con espacios entre ellas. Esto se debe a que en nuestro diccionario original ya existían estos espacios después de las claves, si abrimos el archivo original y seleccionamos una palabra vemos que tiene los espacios detrás.

Para deshacernos de los molestos espacios al final de las palabras usaremos Excel. No utilizaremos la función reemplazar pues puede que haya claves que lleven este carácter en el interior y solo queremos eliminar los del final. 
En primer lugar abrimos el diccionario original con Excel, para ello nos vamos a “Archivo” y pinchamos en “Abrir”. En la ventana que se abre buscamos el directorio donde se encuentra el diccionario y en la pestaña desplegable que aparece abajo a la derecha seleccionamos “Todos los archivos” para poder ver y seleccionar nuestro archivo.

A continuación se abrirá el asistente para importar archivos. En el paso 1 seleccionaremos la opción “De ancho fijo”

En el paso 2 seleccionaremos el ancho de la columna. Pinchamos con el ratón en la regla para establecer el corte de la columna. Solo tiene que haber una columna así que solo hay que pinchar una vez y le daremos bastante margen para que no corte ninguna palabra.

      
En el paso 3 dejamos la opción “General” activada y le damos a “Finalizar”


Ya hemos importado el diccionario a Excel y que curioso que en el proceso nos hemos desecho de los espacios al final de las palabras. Podéis comprobarlo con el cursor.
Ahora tenemos que exportarlo a formato texto. Para ello vamos al menú “Archivo” y seleccionamos “Guardar como”.

En la ventana que se abre le damos un nombre al archivo y en la pestaña desplegable “Tipo:” seleccionamos “Texto Unicode” y guardamos.

Ahora tenemos un archivo de palabras sin espacios al final y en formato DOS. Solo tendremos que transformarlo a Unix con UltraEdit o Notepad++ y tendremos un diccionario listo para usar. Este sería su aspecto:



Si tenemos varios diccionarios en un formato y queremos transformarlos todos podemos utilizar la aplicación gratuita “EOL Converter” que podemos descargar de la página oficial. El funcionamiento de este programa es muy simple, ejecutamos el programa y seleccionamos los ficheros o una carpeta que contenga los archivos para transformar:

A continuación seleccionamos el formato al que queremos convertir los archivos, en este caso a Unix.    

                                                                                                                                                                             
Pulsamos en “Convert” y comienza el proceso de conversión:




Una vez finalizado tendremos todos los archivos en formato Unix listos para usar y en tiempo record.



No hay comentarios:

Publicar un comentario