¿Cómo eliminaría los primeros 27 caracteres de cada línea Notepad ++?


59

Tengo un archivo de registro y necesito eliminar los primeros 27 caracteres de cada línea. Tendría una línea como esta:

2011-09-25 01:25:29 [INFO] <Exazoro> wazup

Pero tiene que ser así:

<Exazoro> wazup

podría usar alguna variante del comando de corte unix de unxutils u busybox para hacerlo mucho más fácilmente: ¿tiene que ser notepad ++?
Journeyman Geek

@JourneymanGeek no tiene que ser notepad ++ es solo lo que uso principalmente y tiene soporte para macros y complementos, así que supuse que podría haber algo para hacer eso.
Mythrillic

Respuestas:


78

Use la búsqueda de expresiones regulares, busque ^...........................y reemplace con (cadena vacía) .

ingrese la descripción de la imagen aquí

Desafortunadamente, Notepad ++ no admite recuentos de repetición como ^.{27}: la documentación de expresiones regulares de SciTE también se aplica aquí.


Alternativamente, use la selección rectangular de varias líneas (presione Altmientras selecciona) para seleccionar estos primeros 27 caracteres en cada línea, luego presione Deleteo Backspace.

ingrese la descripción de la imagen aquí


Usando herramientas Unix (por ejemplo, Cygwin, UnxUtils) puede usar cut -c28-o en su sed -E "s|^.{27}||"lugar. Al menos, estas son las llamadas de línea de comandos de Linux que usarías ...


24
Alt + Shift + derecha para seleccionar los 27 caracteres en la primera fila, luego Pg Dn mientras mantiene presionada Alt + Shift debería hacerlo
icc97

1
Para la expresión regular, Notepad ++ no sigue todas las reglas estándar de expresión regular, por lo que no me sorprende que no pueda hacer que funcione. Y dado que parece que los primeros 27 caracteres son una fecha, hora y nivel de error, podría ser posible una expresión regular más informativa, como^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley

44
Me encanta la Altselección rectangular!
Gromer

Selección alternativa simple y fácil. Gracias Daniel Beck
Uday Kiran Thummalapalli

1
¡Guauu! gracias por ese consejo de selección rectangular ... Ni siquiera sabía que algo así existe ...
Fr0zenFyr

19

En las versiones más recientes de Notepad ++, puede usar recuentos de repetición. Simplemente reemplace ^.{1,27}con una cadena vacía.


77
Por supuesto, si se garantiza que tiene exactamente 27 caracteres, solo úselo ^.{27}.
Schism

5

A continuación se muestra el camino macro. Esto es más intuitivo para personas no técnicas:

1) Coloque el cursor en la primera línea (cualquier posición del cursor)

2) Haga clic en: Macro -> Iniciar grabación

3) Realice las siguientes actividades de pulsación de teclas:

* Press the Home key  
* Press Delete key 27 times (till you reach the intended character)
* Press down arrow button. 

4) Haga clic en: Macro -> Detener grabación

5) Haga clic en: Ejecutar macro varias veces -> seleccione Ejecutar hasta el final del archivo -> haga clic en Ejecutar.


4

UPD: ahora Notepad ++ admite la siguiente repetición: ^.{27} Pero ahora notepad ++ repetirá eliminar caracteres hasta más de 27, para evitar esto puede usar la siguiente expresión:

  • Encontrar que: ^.{27}(.*)$
  • Reemplazar con: $1

esto funciona perfectamente!
Rudy

2

Una pequeña mejora a la respuesta de Daniel Beck:
Use la búsqueda de expresiones regulares, busque:

^...........................(.*.\r\n) 

y reemplazar con:

\1

0

tal vez solo seleccione texto con ALT + botón izquierdo del mouse


¿Puedes explicar esto un poco más?
Toto

0

ALT + MAYÚS + selección del mouse (solo ALT no funciona)

Apunte al principio del archivo, vaya al final, mantenga presionadas ALT + MAYÚS y apunte a la posición que desea ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.