Аналог php explode

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

Аналог php explode

Непрочитанное сообщение RusBiT » 2009-02-20 9:21:48

Есть строка типа 10.0.1.0,10.0.2.1,10.0.1.82
Как из нее создать массив? В php поможет explode
Чем больше я познаю 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/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Аналог php explode

Непрочитанное сообщение zg » 2009-02-20 10:50:27

RusBiT писал(а):В php поможет explode
а тебе где надо?

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

Re: Аналог php explode

Непрочитанное сообщение RusBiT » 2009-02-20 10:59:10

Мне в shell надо
есть список

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

шлюз1 подсеть1.1,подсеть1.2,подсеть1.3
...
шлюзn подсетьn.1,подсетьn.2,подсетьn.3
Cобственно требуется

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

route add -net подсеть1.1 шлюз1
route add -net подсеть1.2 шлюз1
route add -net подсеть1.2 шлюз1
На perl вроде труда не составит это сделать, но охото на shell
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Аналог php explode

Непрочитанное сообщение zg » 2009-02-20 11:10:19

RusBiT писал(а):но охото на shell
на самом шеле гемморно - у него траблы с массивами, но если очень нада на шеле, можно и на шеле -)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Аналог php explode

Непрочитанное сообщение zg » 2009-02-20 12:21:41

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

zg# cat 1.sh
#!/bin/sh

FILES=$@
FILES=${FILES:=/dev/stdin}

cat $FILES | sed -e '/^#/d' -e '/^ *$/d' | while read gateway nets
do
  for net in `echo "$nets" | sed "s/,/ /g"`
  do
    echo route add -net $net $gateway
  done
done
zg#

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

zg# ./1.sh 1.txt 2.txt
route add -net подсеть2.1 шлюз2
route add -net подсеть2.2 шлюз2
route add -net подсеть2.3 шлюз2
route add -net подсетьn.1 шлюзn
route add -net подсетьn.2 шлюзn
route add -net подсетьn.3 шлюзn
route add -net подсеть8.1 шлюз8
route add -net подсеть8.2 шлюз8
route add -net подсеть8.3 шлюз8
route add -net подсеть8.3 шлюз8
route add -net подсеть8.3 шлюз8
zg# cat 1.txt 2.txt | ./1.sh
route add -net подсеть2.1 шлюз2
route add -net подсеть2.2 шлюз2
route add -net подсеть2.3 шлюз2
route add -net подсетьn.1 шлюзn
route add -net подсетьn.2 шлюзn
route add -net подсетьn.3 шлюзn
route add -net подсеть8.1 шлюз8
route add -net подсеть8.2 шлюз8
route add -net подсеть8.3 шлюз8
route add -net подсеть8.3 шлюз8
route add -net подсеть8.3 шлюз8
zg# cat 1.txt
#шлюз1 подсеть1.1,подсеть1.2,подсеть1.3
шлюз2 подсеть2.1,подсеть2.2,подсеть2.3
#шлюз1 подсеть1.1,подсеть1.2,подсеть1.3
шлюзn подсетьn.1,подсетьn.2,подсетьn.3


zg# cat 2.txt
шлюз8 подсеть8.1,подсеть8.2,подсеть8.3,подсеть8.3,подсеть8.3
zg#
ну как-то так -)

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

Re: Аналог php explode

Непрочитанное сообщение RusBiT » 2009-02-20 18:18:05

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

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: Аналог php explode

Непрочитанное сообщение Hazzard » 2009-02-23 15:44:44

RusBiT писал(а):Есть строка типа 10.0.1.0,10.0.2.1,10.0.1.82
Как из нее создать массив? В php поможет explode
интересно что помешало сделать собственно на пхп...
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Аналог php explode

Непрочитанное сообщение zg » 2009-02-23 15:47:16

Hazzard писал(а):интересно что помешало сделать собственно на пхп...
необходимость ставить php