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
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++.)
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.
- Iniciar la grabación Macro
- Presione hacia abajo n-veces
- Presione Shift + End
- Presione borrar dos veces
- Detener la grabación Macro
- Ejecutar Macro hasta el final del archivo
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:
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:
- Ctrl F y vaya a Reemplazar
- En el modo de búsqueda, seleccione "Extendido (\n, \r, \t .. )"
- Encuentra qué: \n \ n
- Sustitúyase por: \n
- Sustitúyase todo
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.
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.
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