scripting - teclado - Insertar dos puntos en una lista de direcciones Mac
i con dos puntos (9)
Tengo más de 500 direcciones MAC y estoy tratando de encontrar una forma sencilla de insertar dos puntos entre cada dos caracteres.
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 los escupirá 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.
Quizás sea excesivo, pero usaría Excel. Pegue sus direcciones MAC en la columna A y esta 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)
Luego, puede copy
columna B y paste special...values
en la columna C o simplemente pegar en el Bloc de notas.
Si es una cosa de una sola vez, ¿por qué no usar emacs con una macro de teclado?
Puede obtener notepad ++ y hacer una búsqueda y reemplazar con regex como search for (..) y reemplazar con / 1:
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í hay un ejemplo rápido de PowerShell:
$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
= 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é tu respuesta anterior y la construí, gracias
$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!
Usé lo siguiente para agregar dos puntos de la dirección MAC a 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