LINUX.ORG.RU

#!/bin/sh
aaa="a@sdf5_-"
if [ "`echo $aaa | sed 's/[a-z,0-9,_,-]*//'`" == "" ];
then
    echo "valid"
else
    echo "invalid"
fi

arnold_shade
()

А обычный grep использовать уже не модно ?

#!/bin/bash

read a
echo $a|egrep -q '^[a-z_-]+$'
if [ "$?" = "0" ]; then
  echo valid
else
  echo invalid
fi

spirit ★★★★★
()
Ответ на: комментарий от spirit

$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
0
$ echo 'aassddffgghh'|egrep -q '^[a-z_-]+$'; echo $?
0
$ cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 3)
$


Ась?

sdio ★★★★★
()
Ответ на: комментарий от sdio

Мои соболезнования :-)

На моем desktop-е:
$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
1
$ cat /etc/gentoo-release
Gentoo Base System version 1.6.15
$ grep -V
grep (GNU grep) 2.5.1

На другом сервере:
$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
1
$ cat /etc/redhat-release
Red Hat Linux release 6.2 (Zoot)
grep (GNU grep) 2.4

И еще на одном:
$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
1
$ cat /etc/redhat-release
Red Hat Linux release 7.3 (Valhalla)
grep (GNU grep) 2.5.1

------------------
Интересно, а
echo 'aAsSdDfFgGhH'|grep -q '^[a-z_-]*$'; echo $?
в Red Hat Enterprise Linux ES release 4 (Nahant Update 3) тоже 0 выдает ?

spirit ★★★★★
()
Ответ на: комментарий от spirit

Хм... интересно, только что посмотрел такое под Fedora Core release 3 - тоже 0 выдает,
хотя в man grep пишут:
DIAGNOSTICS
   Normally, exit status is 0 if selected lines are found and 1 otherwise.
   But the exit status is 2 if an error occurred, unless the -q or --quiet
   or --silent option is used and a selected line is found.

Чудеса...

P.S. Хотя "...| egrep -q '^[A-Z]+$'; ..." уже выдает 1.

spirit ★★★★★
()

a="12fdg_-u+"
if [ -n "${a//[1-9a-z_-]/}" ]; then
echo invalid;
else
echo valid;
fi


invalid

io ★★
()
Ответ на: комментарий от spirit

А-а-а-а-а, сцуко, UTF-8 :-)

RHEL-4$ export LANG=C
RHEL-4$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
1

sdio ★★★★★
()
Ответ на: комментарий от spirit

> Мои соболезнования :-)
> $ cat /etc/gentoo-release
> Gentoo Base System version 1.6.15
> $ grep -V
> grep (GNU grep) 2.5.1

$ echo 'aAsSdDfFgGhH'|egrep -q '^[a-z_-]+$'; echo $?
0

$ cat /etc/gentoo-release
Gentoo Base System version 1.12.4
$ grep -V
grep (GNU grep) 2.5.1

Все еще впереди :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.