Tengo más de 500 direcciones MAC y estoy tratando de encontrar una manera simple de insertar dos puntos entre cada dos caracteres.Insertar dos puntos en una lista de direcciones Mac
Respuesta
Si es una cosa de una sola vez, ¿por qué no utilizar emacs con una macro de teclado?
Usted podría conseguir Notepad ++ y hacer una búsqueda y reemplazar con expresiones regulares como búsqueda de (..) y reemplazarlo con \ 1:
Es tal vez una exageración, pero me gustaría utilizar Excel. Pegar su direcciones MAC en la columna A y la fórmula en la columna B:
=LEFT(A1,2)&":"&MID(A1,3,2)&":"&MID(A1,5,2)&":"&MID(A1,7,2)&":"&MID(A1,9,2)&":"&RIGHT(A1,2)
A continuación, puede copy
la columna B, y, o bien paste special...values
en la columna C o simplemente pegar en el Bloc de notas.
Se puede usar un comando sed como este:
sed 's/\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)/\1:\2:\3:\4:\5:\6/g' filename
Esto simplemente sacar 12 caracteres en grupos de dos, y escupir de vuelta a cabo con dos puntos en el medio. También puedes probar un patrón más simple como s/(\ w \ w)/\ 1:/g, aunque esto te dejará con dos puntos al final de cada dirección.
Batirme a ella! En lo que respecta a tu última sesión, podrías usar otro comando sed para quitar el colon posterior, y aún podría ser más corto. – SingleNegationElimination
No todas las versiones de 'sed' admiten '\ w' para indicar un carácter de palabra. Una mayor precisión en la coincidencia ('[0-9a-fA-F]') haría preferible la solución iterativa. –
Personalmente, probablemente lo haría en Perl, pero tengo que revalorizar la forma decentemente simple de Regex de hacerlo. perl -e "while (<>) {$ _ = ~ s/(\ w {2})/$ 1:/g; s /: $/$ /;}" .. Creo que uno lo haría . –
= CONCATENAR (MID (A2; 1; 2); ":"; MID (A2; 3; 2); ":"; MID (A2; 5; 2); ":"; MID (A2; 7; 2); ":"; MID (A2; 9; 2))
Esto debería ayudar en OpenOffice
= CONCATENAR (MID (A7,1,2), ":", MID (A7 , 3,2), ":", MID (A7,5,2), ":", MID (A7,7,2), ":", MID (A7,9,2), ":", MID (A7,11,2))
Aquí está en Excel, utilicé su respuesta arriba y construido fuera de él, gracias
Linux, UNIX - Bash
Given a address like MACstr="cc0deca96acf"
MACfiexd=$(sed -e 's/.\{2\}/&:/g;s/.$//' <<<$MACstr)
echo "$MACfixed"
cc:0d:ec:a9:6a:cf
Aquí está un ejemplo PowerShell rápida:
$macs = Get-Content C:\temp\MAC.txt
$output = foreach ($mac in $macs){
$mac.insert(2,":").insert(5,":").insert(8,":").insert(11,":").insert(14,":")
}
$output | Out-File c:\temp\newmac.txt
$macs = Get-Content C:\temp\MAC.txt
$output = foreach ($mac in $macs){
$mac.insert(2,":").insert(5,":").insert(8,":").insert(11,":").insert(14,":")
}
$output | Out-File c:\temp\newmac.txt
Gracias Jonathan Walz! ¡Trabajado como un encanto!
He utilizado el siguiente para agregar la dirección MAC de los dos puntos de una tabla HTML existente en vim:
:%s/<td> \([0-9a-zA-Z]\{2\}\)\([0-9a-zA-Z]\{2\}\)\([0-9a-zA-Z]\{2\}\)\([0-9a-zA-Z]\{2\}\)\([0-9a-zA-Z]\{2\}\)\([0-9a-zA-Z]\{2\}\) <\/td>/<td> \1:\2:\3:\4:\5:\6 <\/td>/g
solución de Matt con el Notepad ++, pero ajustado para sólo las líneas de cambio que (sólo) contienen una dirección MAC:
FIND: ^(..)(..)(..)(..)(..)(..)$
REEMPLAZAR: \1:\2:\3:\4:\5:\6
- 1. ¿Cómo elimino dos puntos de una lista de direcciones MAC?
- 2. Direcciones MAC en JavaScript
- 3. bucle en dos direcciones
- 4. MySQL: ¿la mejor manera de almacenar direcciones MAC?
- 5. Direcciones MAC fijas en máquinas Windows EC2
- 6. Insertar en dos tablas
- 7. direcciones Gmaps guardado de rutas, puntos intermedios
- 8. Dos Licencias iOS Developer en una Mac
- 9. ¿hay espacio de direcciones MAC privadas?
- 10. Insertar una lista en otra lista en Redis
- 11. Insertar puntos decimales no ingleses en mysql
- 12. Vim Insertar modo en Mac OS X
- 13. operador dos puntos en PHP
- 14. ¿Posición entre dos puntos?
- 15. ¿Qué significan dos puntos en una declaración de CSS?
- 16. En C, ¿qué significa dos puntos dentro de una declaración?
- 17. pasando dos puntos como argumento de una función en matlab
- 18. Uso de: - (dos puntos) en bash
- 19. filtro de Python/eliminar direcciones URL de una lista
- 20. lista de direcciones URL de OpenID
- 21. ¿Insertar y extender una lista simultáneamente?
- 22. Google App Engine: lista de direcciones IP
- 23. GNU Make convertir espacios a dos puntos
- 24. ¿Cómo puedo convertir curveTo() en una lista de puntos?
- 25. Obtener la distancia entre dos puntos geográficos
- 26. Insertar valores en ubicaciones específicas en una lista en Python
- 27. Rendimiento de la lista (...). Insertar (...)
- 28. lista de direcciones IP ordenar usando C#
- 29. SQL: lista de puntos al rectángulo
- 30. dibujando una línea en google maps perpendicular a dos puntos
¿Por qué sería '\ 1-' insertar dos puntos? –
Woops lo siento debería ser \ 1: – Matt