22 mar. 2013

Procesado simple de archivos de texto con Notepad++

En el trabajo tengo windows como sistema operativo, y utilizo Notepad++ para la edición de archivos de texto plano.
El caso es que tenía varios listados de cientos de registros, y tenía que realizar unas operaciones sencillas. A saber:

  1. Añadir un texto fijo al principio de cada línea.
  2. Eliminar los espacios en blanco al final de cada línea.
  3. Ordenar todas las líneas.
  4. Eliminar las líneas duplicadas.

Para ello, he instalado el plugin TextFX desde el menú Plugins / Plugin Manager / Show Plugin Manager / Available / TextFX Characters / Install.
Una vez instalado, aparece el menú TextFX, en el que hago lo siguiente:
  1. Selecciono el documento entero (Ctrl + A).
  2. Copio el texto que quiero insertar al principio de cada línea y voy al menú: TextFX Edit / Insert (Clipboard) through lines.
  3. Quito los espacios en blanco del final de línea desde el menú: TextFX Edit / Trim Trailing Spaces.
  4. En el submenú TextFX Tools, marco las opciones +Sort ascending y +Sort outputs only UNIQUE (at column) lines y ordeno con Sort lines case sensitive (at column).
Ejercicio para el lector: ¿cómo se podría solucionar esta misma situación usando herramientas estándar de la línea de comandos en Linux?

9 comentarios:

  1. Pues del Notepad++ tengo para dar y vender:
    - Procesado de selección por columnas (Editar>Column mode).
    - Formateado y sangrado legible para muchos formatos (XML, HTML, C, ...). Pones el chorro y él lo deja como los chorros del oro. (A través de plugins)
    - Exportación a RTF y HTML con el formateado del lenguaje. (NppExport plugin)
    - Grabación y ejecución de macros. (Menu Macros)
    - Mapa del documento... (Vista>Document map)

    En fin, imprescindible para cualquier programador.

    En cuanto a hacerlo con Linux, con mucha moral, grep y mucho regex. O siendo un poco más razonable con UltraEdit o Bluefish.

    A10!

    ResponderEliminar
    Respuestas
    1. Diantres tanto que busque para encontrar esta respuesta tan sencilla que explicas.
      Gracias me ayudaste mucho, sigue asi.

      Eliminar
  2. Amigo, usted ha sido de gran ayuda, muchas gracias. Funciona muy bien,... casi desintalo Notepad++ por no poder hacerlo

    ResponderEliminar
  3. En linux seria por ejemplo:

    sort fichero_sin_ordenar > fichero_ordenado

    ResponderEliminar
  4. Jesús: Muchas gracias por el anuncio y por el fácil acceso al sitio.

    ResponderEliminar
  5. Anónimo10/4/14 3:50

    Aqui la liga si no tienen el textFX. Gracias por la ayuda
    http://www.dllme.com/dll/download/6730/NppTextFX.dll

    ResponderEliminar
  6. como eliminar lineas duplicadas

    ResponderEliminar
    Respuestas
    1. Instala el plugin TextFX, selecciona el documento entero (Ctrl + A) y en el submenú TextFX Tools, marca la opción +Sort outputs only UNIQUE (at column) lines y ordena con Sort lines case sensitive (at column).

      Eliminar