ALT Linux Community general discussions
 help / color / mirror / Atom feed
* Re: [Comm] bash question
  2005-05-17  4:03 [Comm] bash question Denis G. Samsonenko
@ 2005-05-17  3:16 ` Журкин Владимир Александрович
  2005-05-17  4:31   ` Denis G. Samsonenko
  2005-05-17  5:41 ` Yura Kalinichenko
  1 sibling, 1 reply; 9+ messages in thread
From: Журкин Владимир Александрович @ 2005-05-17  3:16 UTC (permalink / raw)
  To: community

> Что-то никак не соображу, как сделать в bash проверку строки на 
> допустимый диапазон символов.
> 
> Некая переменная содержит некую строку. Мне надо сделать проверку 
> является ли эта строка двумя цифрами и если нет, то присвоить этой 
> переменной значение "1".
> 
> Не подскажете, как это можно реализовать?

возможно, что так:

if [ $VAR != "[0-9][0-9]" ]






^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Comm] bash question
@ 2005-05-17  4:03 Denis G. Samsonenko
  2005-05-17  3:16 ` Журкин Владимир Александрович
  2005-05-17  5:41 ` Yura Kalinichenko
  0 siblings, 2 replies; 9+ messages in thread
From: Denis G. Samsonenko @ 2005-05-17  4:03 UTC (permalink / raw)
  To: community

Добрый день!

Что-то никак не соображу, как сделать в bash проверку строки на 
допустимый диапазон символов.

Некая переменная содержит некую строку. Мне надо сделать проверку 
является ли эта строка двумя цифрами и если нет, то присвоить этой 
переменной значение "1".

Не подскажете, как это можно реализовать?

-- 
Всего доброго,

Денис.

---------------
earthsea@ngs.ru



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] bash question
  2005-05-17  3:16 ` Журкин Владимир Александрович
@ 2005-05-17  4:31   ` Denis G. Samsonenko
  0 siblings, 0 replies; 9+ messages in thread
From: Denis G. Samsonenko @ 2005-05-17  4:31 UTC (permalink / raw)
  To: community

Hi!

Журкин Владимир Александрович пишет:
>> Некая переменная содержит некую строку. Мне надо сделать проверку 
>> является ли эта строка двумя цифрами и если нет, то присвоить этой 
>> переменной значение "1".
> возможно, что так:
> if [ $VAR != "[0-9][0-9]" ]

Пробовал так -- не получилось.

-- 
Всего доброго,

Денис.

---------------
earthsea@ngs.ru



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] bash question
  2005-05-17  4:03 [Comm] bash question Denis G. Samsonenko
  2005-05-17  3:16 ` Журкин Владимир Александрович
@ 2005-05-17  5:41 ` Yura Kalinichenko
  2005-05-17  8:40   ` Denis G. Samsonenko
  1 sibling, 1 reply; 9+ messages in thread
From: Yura Kalinichenko @ 2005-05-17  5:41 UTC (permalink / raw)
  To: community

В Пнд, 16/05/2005 в 23:03 -0500, Denis G. Samsonenko пишет:
> Добрый день!
> 
> Что-то никак не соображу, как сделать в bash проверку строки на 
> допустимый диапазон символов.
> 
> Некая переменная содержит некую строку. Мне надо сделать проверку 
> является ли эта строка двумя цифрами и если нет, то присвоить этой 
> переменной значение "1".
> 
> Не подскажете, как это можно реализовать?
> 

if echo $VAR | grep -q '^[0-9][0-9]$' ; then 
  VAR=1
fi

-- 
Yura Kalinichenko



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] bash question
  2005-05-17  5:41 ` Yura Kalinichenko
@ 2005-05-17  8:40   ` Denis G. Samsonenko
  2005-05-17 18:44     ` Michael A. Kangin
  0 siblings, 1 reply; 9+ messages in thread
From: Denis G. Samsonenko @ 2005-05-17  8:40 UTC (permalink / raw)
  To: community

Hi!

Yura Kalinichenko пишет:
>> Некая переменная содержит некую строку. Мне надо сделать проверку 
>> является ли эта строка двумя цифрами и если нет, то присвоить этой 
>> переменной значение "1".
> 
> if echo $VAR | grep -q '^[0-9][0-9]$' ; then 
>   VAR=1
> fi

Спасибо! Условие правда получилось противоположным, но я понял идею.

Сделал так:

echo $VAR | grep -q '^[1-9][0-9]\{0,1\}$' || VAR="1"

Теперь, если переменная равна числу в промежутке от 1 до 99, то ничего 
не происходит, если же нет, то переменной присваивается значение 1.

-- 
Всего доброго,

Денис.

---------------
earthsea@ngs.ru



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] bash question
  2005-05-17  8:40   ` Denis G. Samsonenko
@ 2005-05-17 18:44     ` Michael A. Kangin
  2005-05-18  5:45       ` Denis G. Samsonenko
  0 siblings, 1 reply; 9+ messages in thread
From: Michael A. Kangin @ 2005-05-17 18:44 UTC (permalink / raw)
  To: community

On 17 Май 2005 12:40 "Denis G. Samsonenko" <earthsea@ngs.ru> wrote:

> echo $VAR | grep -q '^[1-9][0-9]\{0,1\}$' || VAR="1"
> Теперь, если переменная равна числу в промежутке от 1 до 99, то ничего
> не происходит, если же нет, то переменной присваивается значение 1.

А что, если сравниваются числа, так некошерно будет?

[ $VAR -gt 1 -a $VAR -lt 99 ] && echo "переменная равна числу в промежутке от 
1 до 99 (невключительно)"


-- 
wbr, Michael A. Kangin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] bash question
  2005-05-17 18:44     ` Michael A. Kangin
@ 2005-05-18  5:45       ` Denis G. Samsonenko
  2005-05-18  8:17         ` [Comm] " Vitaly Ostanin
  0 siblings, 1 reply; 9+ messages in thread
From: Denis G. Samsonenko @ 2005-05-18  5:45 UTC (permalink / raw)
  To: community

Hi!

Michael A. Kangin пишет:
>> echo $VAR | grep -q '^[1-9][0-9]\{0,1\}$' || VAR="1"
>> Теперь, если переменная равна числу в промежутке от 1 до 99, то ничего
>> не происходит, если же нет, то переменной присваивается значение 1.
> 
> А что, если сравниваются числа, так некошерно будет?
> 
> [ $VAR -gt 1 -a $VAR -lt 99 ] && echo "переменная равна числу в промежутке от 
> 1 до 99 (невключительно)"

Так не пойдёт в виду следующего:

[denis@cys denis]$ VAR="a"; [ $VAR -gt 1 -a $VAR -lt 99 ] && echo "yes"
bash: [: a: integer expression expected


-- 
Всего доброго,

Денис.

---------------
earthsea@ngs.ru



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Comm] Re: bash question
  2005-05-18  5:45       ` Denis G. Samsonenko
@ 2005-05-18  8:17         ` Vitaly Ostanin
  2005-05-18  9:51           ` Denis G. Samsonenko
  0 siblings, 1 reply; 9+ messages in thread
From: Vitaly Ostanin @ 2005-05-18  8:17 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

Denis G. Samsonenko пишет:

<skipped/>

>>[ $VAR -gt 1 -a $VAR -lt 99 ] && echo "переменная равна числу в промежутке от
>>1 до 99 (невключительно)"
>
> Так не пойдёт в виду следующего:
>
> [denis@cys denis]$ VAR="a"; [ $VAR -gt 1 -a $VAR -lt 99 ] && echo "yes"
> bash: [: a: integer expression expected

Попробуйте сравнивать числа с помощью expr

--
Regards, Vyt
mailto:  vyt@vzljot.ru
JID:     vyt@vzljot.ru

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Comm] Re: bash question
  2005-05-18  8:17         ` [Comm] " Vitaly Ostanin
@ 2005-05-18  9:51           ` Denis G. Samsonenko
  0 siblings, 0 replies; 9+ messages in thread
From: Denis G. Samsonenko @ 2005-05-18  9:51 UTC (permalink / raw)
  To: community

Hi!

Vitaly Ostanin пишет:
> <skipped/>
>>>[ $VAR -gt 1 -a $VAR -lt 99 ] && echo "переменная равна числу в промежутке от
>>>1 до 99 (невключительно)"
>> Так не пойдёт в виду следующего:
>> [denis@cys denis]$ VAR="a"; [ $VAR -gt 1 -a $VAR -lt 99 ] && echo "yes"
>> bash: [: a: integer expression expected
> 
> Попробуйте сравнивать числа с помощью expr

Спасибо, но проблема и так уже решена, парой постов выше.

-- 
Всего доброго,

Денис.

---------------
earthsea@ngs.ru



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-05-18  9:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-17  4:03 [Comm] bash question Denis G. Samsonenko
2005-05-17  3:16 ` Журкин Владимир Александрович
2005-05-17  4:31   ` Denis G. Samsonenko
2005-05-17  5:41 ` Yura Kalinichenko
2005-05-17  8:40   ` Denis G. Samsonenko
2005-05-17 18:44     ` Michael A. Kangin
2005-05-18  5:45       ` Denis G. Samsonenko
2005-05-18  8:17         ` [Comm] " Vitaly Ostanin
2005-05-18  9:51           ` Denis G. Samsonenko

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git