The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
ENSAIO comando amatuer_lee_3 Programação Shell Script e 4 05-09-2008 08:36
Utilizando grep em um teste / if cbo0485 Programação Shell Script e 4 03-21-2008 12:29
Teste de comando JWilliams AIX 2 12-04-2007 02:53
TESTE o comando Marwan UNIX para Dummies Perguntas & Respostas 2 04-23-2007 07:51
unix comando grep pmsuper Programação Shell Script e 1 09-19-2006 03:06

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-08-2007
netmaster netmaster is offline
Usuário
  
 

Join Date: Nov 2005
Posts: 6
Unix grep / ensaio comando

Olá, tenho um script que verifica se o usuário entrou 8 caracteres numéricos sob a forma de AAAAMMDD (data nascimento). Se o utilizador não introduziu quaisquer caracteres numéricos, um erro será exibida:


Código:

# Check to see if the 8 characters are all numbers
# If not show error essage
# And prompt user for more input

         echo $char | grep -q '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$'  
if 	[ $? -ne 0 ]
then
         echo "You have entered non-numeric values.  Please type in the form of YYYYMMDD"
	read char
        continue


Existe uma maneira mais simples de escrever este comando sem usar o [0-9] valor para cada campo? Qualquer ajuda será apreciada
  #2 (permalink)  
Old 10-09-2007
robotronic's Avatar
robotronic robotronic is offline Forum Advisor  
Posso brincar com a loucura?
  
 

Join Date: Apr 2002
Local: Itália
Lugares: 370
No Solaris você pode usar:


Código:
echo "12345678" | /usr/xpg4/bin/grep -Eq "^[0-9]{8}$"

Em qualquer caso, você deve usar uma ferramenta que suporta expressões regulares prorrogado para usar o regex acima.
  #3 (permalink)  
Old 05-07-2009
12345 12345 is offline
Usuário
  
 

Join Date: May 2009
Posts: 8
Delimitados por vírgula, em vez de espaço delimitado

Oi,

E se os números são separados por vírgulas e os no.of ocorrências do padrão não é conhecido.
Por exemplo, 1,2,3,4, ... n

TIA
  #4 (permalink)  
Old 05-07-2009
thegeek thegeek is offline
Usuário
  
 

Join Date: Apr 2009
Local: / usr / bin / vim
Posts: 458
@ 12345 Se entendi sua pergunta corretamente, então, a regex é:

Código:
grep -E "^[0-9,]{3,}"

  #5 (permalink)  
Old 05-08-2009
12345 12345 is offline
Usuário
  
 

Join Date: May 2009
Posts: 8
expressão regular para números separados por vírgulas

Oi,

Obrigado pela sua resposta. Eu só quero fazer essa exigência mais clara.
Leio valores para uma variável, utilizando o "read var". Estou agora validação do utilizador. O utilizador deverá introduzir os valores no formato 1,3,6 (pode entrar em qualquer valores numéricos upto n).
Eu testei este número para 2. Este é o comando que eu tinha usado.
leia col
1,2 ----> dados fornecidos pelo usuário
echo $ col | grep-w "^ [0-9], [0-9] $"
código devolvido é bem sucedida.
Se ele contém qualquer outra entrada como 1, um ou uma, 1 ou a, b, retorna um código de 1.

Esse código funciona bem para 2 números, mas eu quero fazer este trabalho de 'n' números.
Eu já havia tentado a solução fornecida por você, mas E-comando não é reconhecido pelo meu script.
TIA
Closed Thread

Marcadores

Tags
regex, expressões regulares

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 04:14.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0