csv - texto - Eliminar cada otra línea en el bloc de notas++
eliminar lineas notepad++ (6)
¿Hay alguna manera en Notepad ++ para eliminar cada 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 ítems, solo necesito una selección de 5,000
Creo que es una idea extraña intentar hacer con Notepad ++, pero me gusta un desafío, así que decidí darle un giro.
Abra el menú de reemplazo, complete ([^/n]*/n)[^/n]*/n
en el cuadro "Buscar qué" y $1
en el cuadro "Reemplazar con". Luego seleccione la expresión regular para el modo de búsqueda, haga clic en reemplazar todo y se borrará cada segunda línea.
Puedes construir expresiones regulares similares si quieres hacer algo similar. Por ejemplo, (([^/n]*/n){a})[^/n]*/n
reemplazará cada nésima línea si reemplaza a
por n - 1 y [^/n]*/n([^/n]*/n)
le permitirá mantener líneas pares en lugar de líneas impares.
(Eso no fue nada difícil: todo lo que tenía que hacer era actualizar mi instalación obsoleta de Notepad ++).
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égala en newfile".
Si está en Windows, creo que la respuesta aquí funcionaría:
De otra manera, puede usar la línea de comando cc.dl 5.5
de ConyEdit (un complemento) para eliminar la quinta línea de cada grupo, cinco líneas para cada grupo.
Me encontré con este problema yo mismo. Lo que funcionó para mí, también utilizando la función Buscar / Reemplazar, es:
- Ctrl F e ir a Reemplazar
- En el modo de búsqueda, seleccione "Extendido (/ n, / r, / t ..)"
- Encuentra qué: / n / n
- Reemplace con: / n
- Reemplaza todo
No creo que haya una característica en Notepad ++ que elimine automáticamente cualquier otra (o cada enésima) línea, pero si escribes un programa de conversión corto, solo tomará unos minutos.
El pseudocódigo se vería 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.
Puedes intentar usar una Macro.
- Comience a grabar Macro
- Presiona n veces
- Presione Mayús + Fin
- Presione borrar dos veces
- Deje de grabar Macro
- Ejecutar Macro hasta el final del archivo