The OpenNET Project / Index page

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

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

"рег.выражения в операторе case"  +/
Сообщение от ikit email(ok) on 03-Июн-11, 08:58 
При помощи оператора case хочу определить лежит ли в переменной цифра (последовательность цифр). пишу:

case $var1 in
  [0-9] ) echo "digit";:
  * ) echo "other";;
esac

если в var1 находится одна цифра, то digit выводится. если две или больше - то не выводится.
пробовал указать [0-9]*$ - не определяется даже одна цифра. пробовал экранировать, брать в кавычки - тоже самое. в чем ошибка? как определять последовательность цифр?
И, если кто знает, подскажите, пожалуйста, литературу по рег. выражениям.
Заранее спасибо!

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "не рег.выражения в операторе case"  +/
Сообщение от XAnder (ok) on 03-Июн-11, 10:35 
Это не регулярные выражения, это шаблоны оболочки (shell patterns) — гораздо более бедный язык. Такие выкрутасы тут не прокатят. См. man sh
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "рег.выражения в операторе case"  +/
Сообщение от XAnder (ok) on 03-Июн-11, 10:40 
> И, если кто знает, подскажите, пожалуйста, литературу по рег. выражениям.

Дж. Фридл, Регулярные выражения — всё, что нужно, подробно и доступно. В этом случае, правда, не поможет.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "рег.выражения в операторе case"  +/
Сообщение от cryo (ok) on 03-Июн-11, 12:03 
В вашем случае надо делать что-то типа такого:

if [ `echo $var1 | egrep -c "^[0-9]+$"` -ge 0 ]; then
  echo "digit"
else
  echo "non-digit"
fi

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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