The OpenNET Project / Index page

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

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

"Помогите с вопросиком, плиз."  
Сообщение от Роман (??) on 08-Май-06, 14:01 
Подскажите, плиз, как с помощью shell перевернуть:

111.222.333 на 333.222.111
192.168.1 на 1.168.192
10.0 на 0.10

Заранее спасибо.

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

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помогите с вопросиком, плиз."  
Сообщение от guest (??) on 08-Май-06, 14:37 
$ IFS=. read a b c <<EOF
111.222.333
EOF
echo $c.$b.$a
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Помогите с вопросиком, плиз."  
Сообщение от Роман (??) on 08-Май-06, 14:47 
>$ IFS=. read a b c <<EOF
>111.222.333
>EOF
>echo $c.$b.$a

Вы не правильно меня поняли.
а=10.0.2 надо получить b=2.0.10 - здесь 3 значения разделены через точку.
а=192.168.2.3  -  b=3.2.168.192 - здесь 4 значения
а может быть и два.
Все работает в скрипте.


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

3. "Помогите с вопросиком, плиз."  
Сообщение от AMDmi3 on 08-Май-06, 16:02 
>Подскажите, плиз, как с помощью shell перевернуть:
>
>111.222.333 на 333.222.111
>192.168.1 на 1.168.192
>10.0 на 0.10
>
>Заранее спасибо.

Так, например:

echo 100.200.300 | awk -F. '{for(i=NF;i>1;i--)printf("%s.", $i);printf("%s\n", $1);}'

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

4. "Помогите с вопросиком, плиз."  
Сообщение от Роман (??) on 08-Май-06, 17:09 
>>Подскажите, плиз, как с помощью shell перевернуть:
>>
>>111.222.333 на 333.222.111
>>192.168.1 на 1.168.192
>>10.0 на 0.10
>>
>>Заранее спасибо.
>
>Так, например:
>
>echo 100.200.300 | awk -F. '{for(i=NF;i>1;i--)printf("%s.", $i);printf("%s\n", $1);}'

Спасибо.

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

5. "Помогите с вопросиком, плиз."  
Сообщение от phpcoder (??) on 08-Май-06, 21:05 
Конечно длинновато и неоптимально быть может, но работает:

[c0der@rock ~]$ IP=192.168.0.1
[c0der@rock ~]$ echo $IP
192.168.0.1
[c0der@rock ~]$ echo $IP | sed 's|\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)|\4.\3.\2.\1|'
1.0.168.192

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

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

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




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

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