Вставка двоеточий в список адресов Mac - PullRequest
7 голосов
/ 30 июня 2009

У меня более 500 MAC-адресов, и я пытаюсь найти простой способ вставить двоеточие между каждыми 2 символами.

Ответы [ 11 ]

7 голосов
/ 30 июня 2009

Вы можете получить notepad ++, выполнить поиск и заменить его на регулярное выражение, например поиск (..), и заменить на \ 1:

6 голосов
/ 30 июня 2009

Это может быть излишним, но я бы использовал 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 голосов
/ 30 июня 2009

Вы можете использовать команду 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 голосов
/ 13 ноября 2014

= СЦЕПИТЬ (MID (А2; 1; 2); ":"; MID (А2; 3; 2); ":"; MID (А2; 5; 2); ":"; MID (А2; 7 ; 2); ":"; MID (А2; 9; 2))

Это должно помочь в OpenOffice

= СЦЕПИТЬ (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 голос
/ 20 февраля 2015

 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
1 голос
/ 30 июня 2009

Если это разовая вещь, почему бы не использовать emacs с макросом клавиатуры?

ссылка на YouTube

0 голосов
/ 10 августа 2018

при условии, что все MAC находятся в файле, по одному MAC на строку:

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

0 голосов
/ 13 февраля 2018

Решение Мэтта с использованием Notepad ++, но настроено так, чтобы изменять только строки, которые (только) содержат MAC-адрес:

НАЙТИ: ^(..)(..)(..)(..)(..)(..)$

ЗАМЕНА: \1:\2:\3:\4:\5:\6

0 голосов
/ 07 сентября 2016

Для добавления двоеточий MAC-адресов в существующую таблицу HTML в 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
0 голосов
/ 05 апреля 2016
$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

Спасибо, Джонатан Вальц! Работал как ШАРМ!

...