将冒号插入Mac地址列表

时间:2009-06-29 23:23:23

标签: scripting insert colon

我有超过500个MAC地址,我正在尝试找到一种在每2个字符之间插入冒号的简单方法。

11 个答案:

答案 0 :(得分:7)

您可以获取notepad ++并进行搜索并替换为正则表达式,例如搜索(..)并替换为\ 1:

答案 1 :(得分:6)

它可能有点过分,但我会使用Excel。将您的MAC地址粘贴到A列,将此公式粘贴到B列:

=LEFT(A1,2)&":"&MID(A1,3,2)&":"&MID(A1,5,2)&":"&MID(A1,7,2)&":"&MID(A1,9,2)&":"&RIGHT(A1,2)

然后,您可以copy列B,paste special...values进入C列,或者只需粘贴到记事本中。

答案 2 :(得分:5)

您可以使用sed命令,例如:

sed 's/\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)/\1:\2:\3:\4:\5:\6/g' filename

这将只以两个一组的形式拉出12个字符,然后用中间的冒号将它们吐出来。您也可以尝试一个更简单的模式,如s /(\ w \ w)/ \ 1:/ g,但这会在每个地址的末尾留下一个额外的冒号。

答案 3 :(得分:2)

= CONCATENATE(MID(A2; 1; 2);":&#34 ;; MID(A2; 3; 2);":&#34 ;; MID(A2; 5; 2);":&#34 ;; MID(A2; 7 2);":&#34 ;; MID(A2; 9; 2))

这应该有助于OpenOffice

= CONCATENATE(MID(A7,1,2)":",MID(A7,3,2)":",MID(A7,5, 2)":",MID(A7,7,2)":",MID(A7,9,2)":" ,MID(A7,11,2))

这里是excel,我使用了你上面的答案并建立了它,谢谢

答案 4 :(得分:1)

如果这是一次性事情,为什么不使用带键盘宏的emacs?

youtube link

答案 5 :(得分: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

答案 6 :(得分:0)

这是一个快速的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

答案 7 :(得分:0)

$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

感谢Jonathan Walz!像CHARM一样工作!

答案 8 :(得分:0)

我使用以下内容将MAC地址冒号添加到vim中的现有HTML表中:

:%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

答案 9 :(得分:0)

使用Notepad ++的Matt解决方案,但经过微调只能更改(仅)包含mac地址的行:

发现:^(..)(..)(..)(..)(..)(..)$

REPLACE:\1:\2:\3:\4:\5:\6

答案 10 :(得分:0)

假设所有MAC位于一个文件中,每行一个MAC:

sed -i 's/../&:/g;s/:$//' FILE