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

Аналог explode

Добавлено: 2011-09-14 13:41:20
M@}{
Приветствую!

Кто может подсказать аналог explode в php, думаю в perl он тоже есть.
Цель, разобрать IP адреса на массив $Ip[0], $Ip[1], $Ip[2], $Ip[3], и cделать реверс зону $Ip[3].$Ip[2].$Ip[1].$Ip[0].in-addr.arpa

Re: Аналог explode

Добавлено: 2011-09-14 14:58:54
skeletor

Re: Аналог explode

Добавлено: 2011-09-14 16:34:34
M@}{
мм, думаю меня не так поняли.
Не для перл, а для shell

Re: Аналог explode

Добавлено: 2011-09-14 21:41:58
FreeBSP
awk
sed

Re: Аналог explode

Добавлено: 2011-09-15 10:20:36
kpp

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

echo "192.168.0.23" | sed 's/^\([^\.]*\)\.\([^\.]*\)\.\([^\.]*\).\([^\.]*\)/\4.\3.\2.\1.in-addr.arpa/'

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

echo "192.168.0.23" | awk -F. '{print $4"."$3"."$2"."$1".in-addr.arpa"}'

Re: Аналог explode

Добавлено: 2011-09-15 13:27:14
M@}{
kpp писал(а):

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

echo "192.168.0.23" | sed 's/^\([^\.]*\)\.\([^\.]*\)\.\([^\.]*\).\([^\.]*\)/\4.\3.\2.\1.in-addr.arpa/'

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

echo "192.168.0.23" | awk -F. '{print $4"."$3"."$2"."$1".in-addr.arpa"}'
Спасибо, но чтото я не пойму, как передать ему переменную
revers=`ifconfig eth0 | awk -F: '/inet addr/ {split($2, a, " "); print a[1]}' | awk -F. '$4"."$3"."$2"."$1".in-addr.arpa"'`
Так выводит пустую строку
revers=`echo ${ip} | awk -F. '$4"."$3"."$2"."$1".in-addr.arpa"'`
Тоже

Re: Аналог explode

Добавлено: 2011-09-15 14:36:15
kpp

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

ifconfig eth3 | awk -F: '/inet addr/ {split($2, a, " "); print a[1]}' | awk -F. '{print $4"."$3"."$2"."$1".in-addr.arpa"}'
Во 2-м вызове awk упущено {print ... }

Re: Аналог explode

Добавлено: 2011-09-15 14:45:38
kpp
В этом случае, лучше воспользоваться одним sed-ом:

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

ifconfig eth0 | sed -n '/^[ ]*inet addr:/{; s/^[ ]*inet addr:\([^\.]*\)\.\([^\.]*\)\.\([^\.]*\).\([^ ]*\) .*$/\4.\3.\2.\1.in-addr.arpa/p}'