Особо не сталкивался с регулярными выражениями, подскажите как записать в shell, posix
192.168.0-254.254
?
регулярное выражение
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- InventoR
- ст. лейтенант
- Сообщения: 1344
- Зарегистрирован: 2006-12-10 19:43:25
- Контактная информация:
регулярное выражение
ну вот и сказочке конец, кто слушал, тот молодец.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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: регулярное выражение
в sh можно создать функцию range() и использовать как
вот сама функция с примером использования на посл. строке
А в bash и zsh еще проще
Код: Выделить всё
$ range 192.168.0-254.254 | head -5
192.168.0.254
192.168.1.254
192.168.2.254
192.168.3.254
192.168.4.254
Код: Выделить всё
#! /bin/sh
range() {
local IFS i prefix suffix from to
IFS='.' set -- $1
IFS=' ' set -- $1
for p; do
i=$((i + 1))
case $p in
*-*)
prefix=$(while [ $((j+=1)) -lt $i ]; do
eval echo -n \$$j.
done)
suffix=$(while [ ${j=$((i+1))} -le $# ]; do
eval echo -n .\$$j
j=$((j + 1))
done)
from=${p%-*} to=${p#*-}
while [ $from -le $to ]; do
echo $prefix$from$suffix
from=$((from + 1))
done
;;
esac
done
}
range 192.168.0-254.254
Код: Выделить всё
$ echo 192.168.{0..254}.254
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: регулярное выражение
куда записать и с какой целью?InventoR писал(а):подскажите как записать в shell, posix
192.168.0-254.254
?
- InventoR
- ст. лейтенант
- Сообщения: 1344
- Зарегистрирован: 2006-12-10 19:43:25
- Контактная информация: