Добавить : через два символа

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Добавить : через два символа

Непрочитанное сообщение RusBiT » 2009-03-21 10:32:17

Читал man sed , не нашел ответа
Нужно преобразовать 0019db24f4c0 в 00:19:db:24:f4:c0
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: Добавить : через два символа

Непрочитанное сообщение Гость » 2009-03-21 11:13:04

RusBiT писал(а):Читал man sed , не нашел ответа
не то читал, нужно либо re_format(7) либо `info regex'
re_format(7) писал(а): A bound is `{' followed by an unsigned decimal integer, possibly followed
by `,' possibly followed by another unsigned decimal integer, always fol-
lowed by `}'. The integers must lie between 0 and RE_DUP_MAX (255#)
inclusive, and if there are two of them, the first may not exceed the
second. An atom followed by a bound containing one integer i and no
comma matches a sequence of exactly i matches of the atom. An atom fol-
lowed by a bound containing one integer i and a comma matches a sequence
of i or more matches of the atom. An atom followed by a bound containing
two integers i and j matches a sequence of i through j (inclusive)
matches of the atom.
RusBiT писал(а):Нужно преобразовать 0019db24f4c0 в 00:19:db:24:f4:c0

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

$ echo 0019db24f4c0 | sed 's|.\{2\}|&:|g; s|:$||'

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Добавить : через два символа

Непрочитанное сообщение RusBiT » 2009-03-21 12:47:52

Спасиб!
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Добавить : через два символа

Непрочитанное сообщение RusBiT » 2009-09-27 17:47:04

на perl

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

$mac=join ":",$mac =~ /.{2}/g;
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)