Ich habe über 500 MAC-Adressen und ich suche nach einer einfachen Möglichkeit, Doppelpunkte zwischen je 2 Zeichen einzufügen.Einfügen von Colons in eine Liste von Mac-Adressen
Antwort
Wenn es eine einmalige Sache ist, warum nicht Emacs mit einem Tastaturmakro verwenden?
Sie Notizblock bekommen können ++ und eine Suche und für (..) mit regex wie Suche ersetzen und ersetzen mit \ 1:
Es ist vielleicht übertrieben, aber ich würde Excel verwenden. Fügen Sie Ihre MAC-Adressen in der Spalte A und diese Formel in Spalte B:
=LEFT(A1,2)&":"&MID(A1,3,2)&":"&MID(A1,5,2)&":"&MID(A1,7,2)&":"&MID(A1,9,2)&":"&RIGHT(A1,2)
Dann können Sie copy
Spalte B, und entweder paste special...values
in Spalte C oder fügen Sie ihn in den Editor.
Sie könnten einen Sed-Befehl wie folgt verwenden:
sed 's/\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)/\1:\2:\3:\4:\5:\6/g' filename
Dies wird herausziehen nur 12 Zeichen in Gruppen von zwei, und spucken sie mit Doppelpunkten in der Mitte wieder heraus. Sie könnten auch ein einfacheres Muster wie s/(\ w \ w)/\ 1:/g ausprobieren, obwohl Sie am Ende jeder Adresse einen zusätzlichen Doppelpunkt erhalten.
Beat mich dazu! Zu Ihrer letzten Erinnerung könnten Sie dann einen anderen sed-Befehl verwenden, um den nachlaufenden Doppelpunkt zu entfernen, und er könnte immer noch kürzer sein. – SingleNegationElimination
Nicht alle Versionen von 'sed' unterstützen '\ w' für ein Wortzeichen. Eine größere Genauigkeit in der Übereinstimmung ('[0-9a-fA-F]') würde die iterative Lösung bevorzugen. –
Ich persönlich würde es wahrscheinlich in Perl machen, aber ich muss die anständig einfache Regex-Methode verbessern. perl -e "while (<>) {$ _ = ~ s/(\ w {2})/$ 1:/g; s /: $/$ /;}" .. Ich denke, dass man es tun würde . –
= CONCATENATE (MID (A2; 1; 2); ":"; MID (A2; 3; 2); ":"; MID (A2; 5; 2); ":"; MID (A2; 7, 2); ":"; MID (A2; 9; 2))
Diese in Open
= CONCATENATE (MID (A7,1,2) sollte helfen, ":", MID (A7 , 3,2), ":", MID (A7,5,2), ":", MID (A7,7,2), ":", MID (A7,9,2), ":", MID (A7,11,2))
Hier ist es in Excel, habe ich Ihre Antwort oben und gebaut von ihm weg, Dank
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
Hier ist ein schnelles Powershell Beispiel:
$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
$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
Dank Jonathan Walz! Lief wie am Schnürchen!
habe ich die folgenden MAC Doppelpunkte in vim zu einem bestehenden HTML-Tabelle-Adresse hinzufügen:
:%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
Notepad Matts Lösung mit ++, aber fein abgestimmt, um nur Wechsellinien, die (nur) eine MAC-Adresse enthalten:
FIND: ^(..)(..)(..)(..)(..)(..)$
REPLACE: \1:\2:\3:\4:\5:\6
- 1. Einfügen von fehlenden Werten in eine Liste
- 2. Einfügen in eine Liste von Listen prolog
- 3. GNU Convert Spaces Colons
- 4. Einfügen einer Liste von Benutzereingaben in eine Liste von Listen in Haskell
- 5. Wie rekursive Form von Reinigungsduplikate in eine verkettete Liste einfügen?
- 6. Richtig Einfügen von Knoten in eine verknüpfte Liste C++
- 7. Einfügen von Objekten in einer Liste
- 8. Veränderbare Paare in eine veränderbare Liste einfügen
- 9. eine Liste von Tupeln in eine Liste von Wörter
- 10. Konvertiere eine Liste von Tupeln in eine Liste von Listen
- 11. bekomme eine Liste von Primärschlüsseln nach dem Einfügen mehrerer Einträge
- 12. Einfügen von Elementen einer Liste in eine andere Liste rekursiv in Prolog
- 13. alle Listbox-Elemente in eine Liste einfügen
- 14. , wie eine Liste in rdf einfügen
- 15. Einfügen von Knoten in die Mitte der verknüpften Liste und versehentliches Einfügen von Nullknoten
- 16. django Liste von Objekten in eine Liste von Primärschlüsseln konvertieren
- 17. Einfügen von Zeilenumbrüchen in eine IRC-Nachricht
- 18. Einfügen von Bildern in eine Datenbank
- 19. Einfügen von Daten in eine temporäre Tabelle
- 20. Liste von dict in MySQL einfügen mit Python
- 21. Ist eine "Liste von Cherry Cokes" eine "Liste von Cokes"?
- 22. Python Einfügen von Daten aus der Liste in SQlite3
- 23. WCF Receive Liste von Objekten und Einfügen in Datenbank
- 24. Einfügen von Strings in verkettete Liste funktioniert nicht richtig
- 25. Python: neues Element in sortierte Liste von Wörterbüchern einfügen
- 26. eine Liste von Tupeln
- 27. Wie Einfügen von Cons in Liste auf Lisp?
- 28. Verwenden von jQuery zum dynamischen Einfügen in die Liste Alphabetisch
- 29. Einfügen von Tabellenwerten aus der Liste Iteration in Python
- 30. Eine Python-Liste in eine Liste von überlappenden Chunks teilen
Warum sollte '\ 1-' einen Doppelpunkt einfügen? –
Woops sorry sollte \ 1: – Matt