The OpenNET Project / Index page

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

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

"AWK - маленькая подлая проблема. :("  
Сообщение от ingvarr email on 09-Фев-06, 12:12 
Привет всем!
При написаннии скрипта столкнулся со следующей проблемой - как описать диапазон чисел,скажем 208-223 ? Или 128-159 ?
Вариант типа 1[28-59] не прокатывает? ругается на неправильный диапазон.

gawk,FreeBSD 5.3

Спасибо заранее...

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

 Оглавление

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


1. "AWK - маленькая подлая проблема. :("  
Сообщение от madskull (ok) on 09-Фев-06, 14:26 
>Привет всем!
>При написаннии скрипта столкнулся со следующей проблемой - как описать диапазон чисел,скажем
>208-223 ? Или 128-159 ?
>Вариант типа 1[28-59] не прокатывает? ругается на неправильный диапазон.
>
>gawk,FreeBSD 5.3
>
>Спасибо заранее...

Чтож так непонятно проблему-то описываете?
Где "описать диапазон чисел"?
Если в условии и известно поле, то так и пишите if($1>=128&&$1<=159)


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

2. "AWK - маленькая подлая проблема. :("  
Сообщение от ingvarr email on 09-Фев-06, 15:58 
>Если в условии и известно поле, то так и пишите if($1>=128&&$1<=159)
Нужно описать диапазон чисел в части поля (ip адрес):
if { чего-то там...
}else if (($3 ~ /^(192\.168\.2[10-23])|(172\.16\.1[28-59])/) &&
Вот здесь застрял...

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

3. "AWK - маленькая подлая проблема. :("  
Сообщение от ingvarr email on 09-Фев-06, 16:04 
>>Если в условии и известно поле, то так и пишите if($1>=128&&$1<=159)
>Нужно описать диапазон чисел в части поля (ip адрес):
> if { чего-то там...
>}else if (($3 ~ /^(192\.168\.2[10-23])|(172\.16\.1[28-59])/) &&
>Вот здесь застрял...

Если еще точнее , то выражение 2[10-23] работает, а вот выражение диапазона где нет цифры 0 - не работает.Можно конечно добавить ее,но не будет ли тогда ошибки при подсчетах...

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

4. "AWK - маленькая подлая проблема. :("  
Сообщение от ACCA (ok) on 16-Фев-06, 09:35 
>Если еще точнее , то выражение 2[10-23] работает, а вот выражение диапазона
>где нет цифры 0 - не работает.Можно конечно добавить ее,но не
>будет ли тогда ошибки при подсчетах...

давай посмотрим, что же ты написал:

2[10-23] - всё равно, что 2[10123]. Тавтология, но awk это поймёт - 2[0123]. В случае же 1[28-59] получается полная ерунда - 8-5 не является диапазоном.

Теперь про то, что ты хотел написать:

Хочешь сравнивать часть адреса - выдели его и выполняй числовое сравнение. У regexp голова слишком маленькая, чтобы про числа знать, он умеет думать только про символьные строки.

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

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

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




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

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