Notepad ++ uso de comodines con buscar y reemplazar

0

Tengo una dirección MAC de 12 dígitos como la 5C838F9FE398que necesito reemplazar con5C83.8F9F.E398

Como tengo que hacer esto para más de 200 direcciones MAC, pensé usar Notepad ++ para ahorrar tiempo. ¿Es posible hacerlo rápidamente con Notepad ++?

Riz
fuente

Respuestas:

5

Si, esto es posible.

Suponiendo que la lista de macaddresses se vea así:

5C838F9FE398
5C838F9FE398
5C838F9FE398
5C838F9FE398

(donde cada uno es único, por supuesto)

Puede encontrar / reemplazar usando regex.

Abra el cuadro de diálogo Buscar / reemplazar presionando CTRL+ H.

En el campo Buscar, ingrese: ^(.{4})(.{4})(.{4})
En el campo Reemplazar con, ingrese:$1.$2.$3

En la parte inferior del grupo Modo de búsqueda, seleccione Expresión regular.

Ahora golpea Replace All.


Explicando la expresión regular:

^          Only match if this happens at the beginning of a line
  (        Start of group 1 (to replace with $1)
    .{4}   Any character, 4 times
  )        End of group 1
  (        Same as above for group 2
    .{4}
  )
  (        Same as above for group 3
    .{4}
  )

El reemplazo se configura como:

 $1    These are the first 4 values found
 .     place a period next
 $2    These are the second 4 values found
 .     place a period next
 $3    These are the third 4 values found.

Cualquier cosa después de esta cadena se ignora por completo y permanecerá presente.

Entonces se 5C838F9FE398 testconvierte5C83.8F9F.E398 test

LPChip
fuente
1
Podría ser mejor especificar un dígito hexadecimal en lugar de cualquier carácter utilizando en ([0-9A-F]{4})lugar de cada aparición de (.{4}). Esto sería particularmente necesario si hay otra información en el archivo además de las direcciones MAC, y aún más si las direcciones no se encuentran al comienzo del archivo: en este último caso, necesita algo \<([0-9A-F]{4})([0-9A-F]{4})([0-9A-F]{4})\>como la cadena de búsqueda.
AFH
Hola AFH, genial, muchas gracias. Resolvió mi problema y me ahorró más de medio día de trabajo. Agradecido.
Riz
1
@Riz "Medio día"? Podrías hacer esos cambios a mano en media hora. Tedioso pero factible :)
DavidPostill
1
Ambos trabajan en NPP. Usé el enfoque $ porque creo que se lee mejor en una respuesta en SuperUser.
LPChip
1
@Riz Lo correcto ahora es aceptar formalmente la respuesta, ya que el problema se resolvió, se ahorró tiempo y estaba agradecido.
Kamil Maciorowski