将冒号插入Mac地址列表

问题描述 投票:7回答:11

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

scripting insert colon
11个回答
7
投票

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


0
投票

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

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

更换:\1:\2:\3:\4:\5:\6


0
投票

假设所有MAC都在一个文件中,每行一个MAC:

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


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列或只是粘贴到记事本中。


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,尽管这会在每个地址的末尾留下一个额外的冒号。


2
投票

= CONCATENATE(MID(A2; 1; 2); “:”; MID(A2; 3; 2); “:”; MID(A2; 5; 2); “:”; MID(A2; 7; 2) ; “:”; 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,我用你上面的答案并建立它,谢谢


1
投票

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

youtube link


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

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

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一样工作!


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
© www.soinside.com 2019 - 2024. All rights reserved.