Eliminar cualquier otra línea en notepad++


¿Hay alguna forma en Notepad++ de eliminar cualquier otra o enésima línea? Tengo una lista masiva de datos y necesito reducir el tamaño.

Los datos en sí no son tan importantes y de una lista de 10,000 elementos solo necesito una selección de 5,000

Author: fightstarr20, 2013-07-19

6 answers

Creo que es una idea extraña tratar de hacer con Notepad++, pero me gusta un desafío, así que decidí darle un giro.

Abrir el menú reemplazar, rellene ([^\n]*\n)[^\n]*\n en el cuadro "Buscar" y $1 en el cuadro "Reemplazar con". A continuación, seleccione expresión regular para el modo de búsqueda, haga clic en reemplazar todo y cada segunda línea se elimina.

Puedes construir expresiones regulares similares si quieres hacer algo similar. Por ejemplo, (([^\n]*\n){a})[^\n]*\n reemplazará cada enésima línea si reemplaza a por n - 1 y [^\n]*\n([^\n]*\n) te permitirá mantener líneas pares en lugar de impares.

(Eso no fue difícil en absoluto - todo lo que tenía que hacer era actualizar mi obsoleta instalación de Notepad++.)

 77
Author: Jasper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-19 01:29:37

Puede intentar usar una macro.

  1. Iniciar la grabación Macro
  2. Presione hacia abajo n-veces
  3. Presione Shift + End
  4. Presione borrar dos veces
  5. Detener la grabación Macro
  6. Ejecutar Macro hasta el final del archivo
 17
Author: bsmk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-04 11:09:47

Creo que puedes hacer esto con awk si estás en una plataforma de estilo unix:

awk 'NR % 2 == 0' file > outfile

NR es el número de línea, por lo que esto solo dirá "si la línea es divisible por 2, péguela en newfile."

Si estás en Windows, creo que la respuesta aquí funcionaría:

Archivo por lotes para mantener una de las diez líneas

 5
Author: Evan Reynolds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:28

Me encontré con este tema yo mismo. Lo que funcionó para mí, también usando la función Find/Replace, es:

  1. Ctrl F y vaya a Reemplazar
  2. En el modo de búsqueda, seleccione "Extendido (\n, \r, \t .. )"
  3. Encuentra qué: \n \ n
  4. Sustitúyase por: \n
  5. Sustitúyase todo
 2
Author: Steven C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-02 21:27:35

No creo que haya una característica en Notepad++ que elimine automáticamente cada otra línea (o cada enésima), pero si escribiera un programa de conversión corto, solo tomaría unos minutos.

El pseudocódigo se vería algo así:

1. Create a StreamReader and StreamWriter (make sure you are not trying to read from
   and write to the same file)
2. While (StreamReader is reading lines) increment i. You could mod it by whatever 
   number n you wanted in order to delete certain lines. Then have a conditional clause
   that would write out if i%n == 0 or whatever you specify.
3. Close the program.

Eso no responde exactamente a tu pregunta, pero espero que ayude.

 0
Author: khinkle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-18 22:53:03

De otra manera, puede usar la línea de comandos cc.dl 5.5 de ConyEdit(un complemento) para eliminar la quinta línea de cada grupo, cinco líneas para cada grupo.

 0
Author: Hunter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-18 02:47:38