J'ai plus de 500 adresses MAC et j'essaie de trouver un moyen simple d'insérer des deux-points entre chaque 2 caractères.Insertion de Colons dans une liste d'adresses Mac
Répondre
Si c'est une chose unique, pourquoi ne pas utiliser emacs avec une macro clavier?
Vous pouvez obtenir notepad ++ et faire une recherche et remplacer par expression rationnelle comme la recherche pour (..) et le remplacer par \ 1:
Il peut-être exagéré, mais j'utiliser Excel. Coller votre adresse MAC dans la colonne A et cette formule dans la colonne B:
=LEFT(A1,2)&":"&MID(A1,3,2)&":"&MID(A1,5,2)&":"&MID(A1,7,2)&":"&MID(A1,9,2)&":"&RIGHT(A1,2)
Ensuite, vous pouvez copy
la colonne B, et soit paste special...values
dans la colonne C ou tout simplement coller dans le Bloc-notes.
Vous pouvez utiliser une commande sed comme celle-ci:
sed 's/\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)\(\w\w\)/\1:\2:\3:\4:\5:\6/g' filename
Cela suffit de tirer sur 12 caractères en groupes de deux, et les recracher avec côlons au milieu. Vous pouvez également essayer un modèle plus simple comme s/(\ w \ w)/\ 1:/g, bien que cela vous laissera avec un deux-points supplémentaire à la fin de chaque adresse.
Battez-moi à elle! En ce qui concerne votre dernière phrase, vous pourriez alors utiliser une autre commande sed pour enlever le deux-points, et cela pourrait être encore plus court. – SingleNegationElimination
Toutes les versions de 'sed' ne prennent pas en charge '\ w' pour désigner un caractère-mot. Une plus grande précision dans la correspondance ('[0-9a-fA-F]') rendrait la solution itérative préférable. –
Personnellement, je le ferais probablement en Perl, mais je dois remettre en question la façon simple et décente de le faire. perl -e "while (<>) {$ _ = ~ s/(\ w {2})/$ 1:/g; s /: $/$ /;}" .. Je pense que l'on le ferait . –
= CONCATENER (MID (A2; 1; 2); ":"; MID (A2; 3; 2); ":"; MID (A2; 5; 2); ":"; MID (A2; 7, 2); ":"; MID (A2; 9; 2))
Cela devrait aider à 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))
ici, il est dans Excel, j'ai utilisé votre réponse ci-dessus et construit en dehors, Merci
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
Voici un exemple de PowerShell rapide:
$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
Merci Jonathan Walz! A travaillé comme un CHARME!
J'ai utilisé comme suit pour ajouter adresse MAC côlons à une table HTML existant dans 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
solution de Matt avec Notepad ++, mais peaufiné uniquement les lignes de changement que (seulement) contiennent une adresse MAC:
FIND: ^(..)(..)(..)(..)(..)(..)$
REMPLACER: \1:\2:\3:\4:\5:\6
- 1. insertion d'éléments dans la liste déroulante
- 2. Sharepoint - Insertion dans un sous-dossier de liste
- 3. Insertion et extension simultanées d'une liste?
- 4. Insertion de lignes dans une table avec une identité prédéfinie
- 5. Insertion d'images dans l'éditeur WYSIWYG
- 6. Insertion de fichier dans une page html en utilisant Javascript?
- 7. Liste une liste dans la liste
- 8. insertion dans une vue dans le serveur SQL
- 9. valeur de tableau dans Insertion sortie spéciale
- 10. Insertion de valeurs dans un formset
- 11. Insertion de clobs dans Oracle avec ODBC
- 12. Insertion de plusieurs lignes dans SQL
- 13. Insertion de GUID dans SQL Server
- 14. Insertion d'un NSString dans pathForResource de NSBundle?
- 15. Insertion par programme d'une liste en tant que partie Web dans une page Webpart dans WSS 3.0
- 16. Comment faire une itération arrière dans une liste STL?
- 17. Insertion de valeurs dans des données
- 18. Insertion de DateTime dans Sql Server 2005
- 19. (Javascript) Insertion d'éléments dynamiquement dans une position spécifique
- 20. Comment puis-je créer une «liste de sources» sur Mac OS X?
- 21. Insertion manuelle de données dans une ou plusieurs tables avec une clé primaire remplie de séquence
- 22. insertion d'un tableau de valeurs
- 23. Comment pixelliser une chaîne (mac)
- 24. Insertion de données dans un fichier XML avec PHP DOM
- 25. Comment accéder aux éléments de liste dans une liste
- 26. Insertion efficace et recherche de chaînes
- 27. Comment compter les éléments d'une liste dans une liste dans une liste en utilisant LINQ?
- 28. kbhit() dans mac
- 29. Insertion en bloc SQL Server
- 30. mySQL insertion de plusieurs enregistrements avec une sélection
Pourquoi serait '\ 1' insérer deux points? –
Woops désolé devrait être \ 1: – Matt