The OpenNET Project / Index page

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

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

"интервал поиска в  регулярных выражениях"
Сообщение от avdoshyn emailИскать по авторуВ закладки on 16-Авг-03, 18:39  (MSK)
может кто подскажет как с помощью регулярных выражений найти данные которые лежат в интервале между двумя числами скажем 1000 и 1268?

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "интервал поиска в  регулярных выражениях"
Сообщение от sas emailИскать по авторуВ закладки on 16-Авг-03, 21:02  (MSK)
>может кто подскажет как с помощью регулярных выражений найти данные которые лежат
>в интервале между двумя числами скажем 1000 и 1268?
>
>заранее спасибо

sas@tibook:tmp # cat >nums <<-EOF
> 12345
> 11111
> 3456
> 999
> 1000
> 1250
> 1268
> 1700
> 1800
> EOF

sas@tibook:tmp # grep -E '1[0-2][0-6][0-8]' nums
12345
11111
1000
1250
1268

:)


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "интервал поиска в  регулярных выражениях"
Сообщение от sas emailИскать по авторуВ закладки on 16-Авг-03, 21:04  (MSK)
>>может кто подскажет как с помощью регулярных выражений найти данные которые лежат
>>в интервале между двумя числами скажем 1000 и 1268?
>>
>>заранее спасибо
>
>sas@tibook:tmp # cat >nums <<-EOF
>> 12345
>> 11111
>> 3456
>> 999
>> 1000
>> 1250
>> 1268
>> 1700
>> 1800
>> EOF
>
>sas@tibook:tmp # grep -E '1[0-2][0-6][0-8]' nums
>12345
>11111
>1000
>1250
>1268
>
>:)


Sorry pravil'no :

grep -E '^1[0-2][0-2][0-6][0-8]$'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "интервал поиска в  регулярных выражениях"
Сообщение от sas emailИскать по авторуВ закладки on 16-Авг-03, 21:07  (MSK)
Again typo  :(

grep -E '^1[0-2][0-6][0-8]$'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "интервал поиска в  регулярных выражениях"
Сообщение от qq Искать по авторуВ закладки on 16-Авг-03, 21:36  (MSK)
>Again typo  :(
>
>grep -E '^1[0-2][0-6][0-8]$'


1259 ;)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "интервал поиска в  регулярных выражениях"
Сообщение от sas emailИскать по авторуВ закладки on 16-Авг-03, 22:03  (MSK)
>>Again typo  :(
>>
>>grep -E '^1[0-2][0-6][0-8]$'
>
>
>1259 ;)

:)) You are right   :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "интервал поиска в  регулярных выражениях"
Сообщение от qq Искать по авторуВ закладки on 17-Авг-03, 00:08  (MSK)
>может кто подскажет как с помощью регулярных выражений найти данные которые лежат
>в интервале между двумя числами скажем 1000 и 1268?
>
>заранее спасибо


проще отделить регулярным выражением все от 1000 до 1299
а потом сравнить

if($num =~ /^\s*(1[0-2]\d\d)\s*/ && $1 < 1269) {print "$1 in range\n"}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "интервал поиска в  регулярных выражениях"
Сообщение от qq Искать по авторуВ закладки on 17-Авг-03, 00:12  (MSK)
>>может кто подскажет как с помощью регулярных выражений найти данные которые лежат
>>в интервале между двумя числами скажем 1000 и 1268?
>>
>>заранее спасибо
>
>
>проще отделить регулярным выражением все от 1000 до 1299
>а потом сравнить
>
>if($num =~ /^\s*(1[0-2]\d\d)\s*$/ && $1 < 1269) {print "$1 in range\n"}

ну а если сильно хочется все через RE (хотя по моему это будет тормознее)
то несколько выражений через |
(1[0-1]\d\d|12[0-5]\d|126[0-8])

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "интервал поиска в  регулярных выражениях"
Сообщение от avdoshyn emailИскать по авторуВ закладки on 18-Авг-03, 12:30  (MSK)
все эти варианты неплохие но и не применительные, так как задача следующая:

написать шелл скрипт, которому в параметр передавать 2 даты (конечную и начальную) в unix-timestamp и который выдирает из файла строки входящие в данный интервал. А даты как вы понимаете довольно длинные например интервал 1057006801-1059685201.

жду с нетерпением советов.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "интервал поиска в  регулярных выражениях"
Сообщение от Wizard emailИскать по авторуВ закладки on 18-Авг-03, 13:19  (MSK)
>написать шелл скрипт, которому в параметр передавать 2 даты (конечную и начальную)
>в unix-timestamp и который выдирает из файла строки входящие в данный
>интервал. А даты как вы понимаете довольно длинные например интервал 1057006801-1059685201.

что-то типа такого:
cat ... | perl -e 'while(<>) { /^(\d+)/; print if $1>=1057006801 and $1<1059685201; }' > ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "интервал поиска в  регулярных выражениях"
Сообщение от avdoshyn emailИскать по авторуВ закладки on 18-Авг-03, 13:29  (MSK)
большое спасибо, тема закрыта, великий гуру wizard решил проблему, правда испольуя перл.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "интервал поиска в  регулярных выражениях"
Сообщение от Wizard emailИскать по авторуВ закладки on 18-Авг-03, 13:35  (MSK)
>большое спасибо, тема закрыта, великий гуру wizard решил проблему, правда испольуя перл.

:))
ну можно и без аплодисментов было... :)))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "интервал поиска в  регулярных выражениях"
Сообщение от qq Искать по авторуВ закладки on 18-Авг-03, 20:23  (MSK)
>все эти варианты неплохие но и не применительные, так как задача следующая:
>
>
>написать шелл скрипт, которому в параметр передавать 2 даты (конечную и начальную)
>в unix-timestamp и который выдирает из файла строки входящие в данный
>интервал. А даты как вы понимаете довольно длинные например интервал 1057006801-1059685201.
>
>
>жду с нетерпением советов.

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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