The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Преобразовать ip в 4 цифры"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Преобразовать ip в 4 цифры" 
Сообщение от Halyva emailИскать по авторуВ закладки(ok) on 14-Май-05, 15:05  (MSK)
В awk есть функция plit. В неё задаёш строку, разделатель и массив. если написать в неё split(str,arr,'.') и передать str='192.168.2.67' то значением arr будет массив длинной 4 и 1 элемент 192 второй 168 и т.д. Как тоже самое сделать только в shell?
Или просто как нибудь вырезать цифры до точки.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Преобразовать ip в 4 цифры" 
Сообщение от Maxim Kuznetsov Искать по авторуВ закладки on 14-Май-05, 15:20  (MSK)
>В awk есть функция plit. В неё задаёш строку, разделатель и массив.
>если написать в неё split(str,arr,'.') и передать str='192.168.2.67' то значением arr
>будет массив длинной 4 и 1 элемент 192 второй 168 и
>т.д. Как тоже самое сделать только в shell?
>Или просто как нибудь вырезать цифры до точки.
sed :
# echo 192.168.1.1 | sed "/s/([^\\.])/\\1/"
или упомянутый Вами awk - что мешает вызвать awk из шела ?


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Преобразовать ip в 4 цифры" 
Сообщение от Halyva emailИскать по авторуВ закладки(ok) on 14-Май-05, 15:25  (MSK)
>или упомянутый Вами awk - что мешает вызвать awk из шела ?
Слишком часто и слишком много надо раз. Иррационально.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Преобразовать ip в 4 цифры" 
Сообщение от Halyva emailИскать по авторуВ закладки(ok) on 14-Май-05, 15:30  (MSK)
А чем sed от awk отличается? Что awk что sed потоковые редакторы :)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Преобразовать ip в 4 цифры" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 14-Май-05, 16:02  (MSK)
>В awk есть функция plit. В неё задаёш строку, разделатель и массив.
>если написать в неё split(str,arr,'.') и передать str='192.168.2.67' то значением arr
>будет массив длинной 4 и 1 элемент 192 второй 168 и
>т.д. Как тоже самое сделать только в shell?
>Или просто как нибудь вырезать цифры до точки.


str='192.168.2.67'
IFS='.' a=($str)
теперь в массиве а отдельные числа
echo ${a[@]}

только не забудьте сохранить/восстановить значение IFS

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Преобразовать ip в 4 цифры" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 14-Май-05, 16:07  (MSK)
>
>str='192.168.2.67'
>IFS='.' a=($str)
>теперь в массиве а отдельные числа
>echo ${a[@]}
>
>только не забудьте сохранить/восстановить значение IFS

А еще лучше вот так
a=(${str//./ })
echo ${a[@]}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру