2009-06-29 14 views

Odpowiedz

1

Jeśli jest to jednorazowa rzecz, dlaczego nie używać emacs z makrem klawiatury?

youtube link

7

Można dostać Notepad ++ i do wyszukiwania i zastąpić regex jak poszukiwaniu (..) i zastąpić \ 1:

+0

Dlaczego '\ 1-' wstawić dwukropek? –

+0

Woops sorry powinno być \ 1: – Matt

5

to może przesada, ale chciałbym używać Excel. Wklej adresy MAC w kolumnie A i ta formuła w kolumnie B:

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

Następnie można copy kolumna B, i albo paste special...values w kolumnie C lub po prostu wkleić do Notatnika.

5

Można użyć sed polecenie takie jak to:

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

To będzie po prostu wyciągnąć 12 znaków w grupach po dwa, i pluć je z powrotem z dwukropkiem w środku. Możesz także wypróbować prostszy wzorzec, taki jak s/(\ w \ w)/\ 1:/g, ale spowoduje to dodanie dodatkowego dwukropka na końcu każdego adresu.

+0

Pokonaj mnie! Wracając do twojego ostatniego sentymentu, możesz użyć innej komendy sed, aby usunąć ciągnący się dwukropek, a może on być jeszcze krótszy. – SingleNegationElimination

+0

Nie wszystkie wersje "sed" wsparcia "\ w" oznaczają słowo-znak. Większa precyzja w dopasowaniu ("[0-9a-fA-F]") sprawiłaby, że iteracyjne rozwiązanie byłoby lepsze. –

+0

Osobiście pewnie zrobiłbym to w Perlu, ale muszę upragnić przyzwoicie prosty sposób na Regex. perl -e "while (<>) {$ _ = ~ s/(\ w {2})/1 $:/g; s /: $/$ /;}" .. Myślę, że można to zrobić . –

2

= ZŁOTO (MID (A2; 1; 2); ":"; MID (A2; 3; 2); ":"; MID (A2; 5; 2); ":"; MID (A2; 7; 2); ":"; MID (A2, 9, 2))

powinno pomóc w OpenOffice

= ZŁĄCZ.TEKSTY (MID (A7,1,2), ":", MID (A7 , 3,2), ":", MID (A7,5,), ":", MID (A7,7,2), ":", MID (A7,9,2), ":", MID (A7,11,2))

Tutaj to jest w programie Excel, użyłem odpowiedź powyżej i zbudowane od niego, Dzięki

0

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

Oto krótki przykład 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 
-1
$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 

Dzięki Jonathan Walz! Pracował jak CHARM!

0

użyłem następujących czynności, aby dodać adres MAC dwukropka do istniejącej tabeli HTML w 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

rozwiązanie Matta za pomocą Notepad ++, ale dostrojone tylko do linii tego zmienić (tylko) zawierają adres mac:

znajdują się: ^(..)(..)(..)(..)(..)(..)$

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