Страница 1 из 1

Парсинг мак адреса

Добавлено: 2010-04-15 8:12:50
Podedinov
Помогите пожалуйста, есть мак такого вида 00:25:11:C1:18:A7 как из него сделать такого вида 0025.11C1.18A7

Re: Парсинг мак адреса

Добавлено: 2010-04-15 11:50:34
Alex Keda
разобрать на части и сложить
=======
язык какой?

Re: Парсинг мак адреса

Добавлено: 2010-04-15 12:18:22
skeletor
Когда-то мне самому нужен был такой скрипт, для выполнения команд на cisco. Ибо там МАСи без двоеточий.

Код: Выделить всё

echo то:есть:на:входе:имеем:строку | awk -F: '{print $1$2"."$3$4"."$5$6}'

Re: Парсинг мак адреса

Добавлено: 2010-04-15 14:20:14
Podedinov
Язык perl, все данные находятся в переменной. А если я уберу знаки ":" вот так
и получится так 002511C118A7 а как из этого сделать это 0025.11C1.18A7

Re: Парсинг мак адреса

Добавлено: 2010-04-15 14:29:54
Гость

Код: Выделить всё

#!/usr/bin/perl

$macaddr = '00:25:11:C1:18:A7';
$macaddr =~ m/^(\w+):(\w+):(\w+):(\w+):(\w+):(\w+)/;
print $1.$2.'.'.$3.$4.'.'.$5.$6;

Re: Парсинг мак адреса

Добавлено: 2010-04-15 14:51:37
Podedinov
Мне это все на в переменную кинуть, а не на экран вывести.

Re: Парсинг мак адреса

Добавлено: 2010-04-15 14:58:35
Гость
а что сложно это присвоить в переменную?
вообще то тема подразумевала что вы не можете распарсить мак адреес
а не то что вы нифига не знаете перла

Re: Парсинг мак адреса

Добавлено: 2010-04-15 15:01:32
негодую

Код: Выделить всё

#!/usr/bin/perl

$macaddr = '00:25:11:C1:18:A7';
$macaddr =~ m/^(\w+):(\w+):(\w+):(\w+):(\w+):(\w+)/;
$mac = $1.$2.'.'.$3.$4.'.'.$5.$6;
print $mac;
#print $1.$2.'.'.$3.$4.'.'.$5.$6;

Re: Парсинг мак адреса

Добавлено: 2010-04-15 15:09:17
Podedinov
Спасибо все работает просто отлично.

Re: Парсинг мак адреса

Добавлено: 2010-04-15 15:24:46
Alex Keda
Гость писал(а):а что сложно это присвоить в переменную?
вообще то тема подразумевала что вы не можете распарсить мак адреес
а не то что вы нифига не знаете перла
улыбнуло =)