Se existir palavra X no arquivo Y... [RESOLVIDO]

1. Se existir palavra X no arquivo Y... [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 12/04/2010 - 21:51h

Olá, mais uma vez eu apanhando com meus scripts
preciso fazer com q verifique if existir a palavra no arquivo execute tal, senao tal..
teltei de algumas maneiras q nao deu certo, tipo:

TESTE=`cat $FORM_USER $ARQUIVO`

if [ $TESTE = 0 ];then
echo Não existe
else
echo Exite!
fi

bom tentei de varias maneiras +- nesta mesma logina, mas não obtive exito, alguem pode me dar uma dica?

valew []´s


  


2. Re: Se existir palavra X no arquivo Y... [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 13/04/2010 - 01:19h

cara, de mais exemplos, tipo, qual palavra vc quer?? de qual arquivo?? oq tem no arquivo?? a informação do arquivo muda constantemente??

nao sei se agr vai ajudar, mas tenta algo parecido com isso

arquivo=/home/user/arquivo
palavra="palavra ou letra escolhida"
TESTE=`echo "$arquivo" | grep -w "$palavra"`

if [ "$TESTE" = "$palavra" ];then
echo "Existe"
else
echo "Não exite!"
fi

=========================

sempre debuga o script com: bash -xv script.sh

ai vc fala como ficou


3. Consegui

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 13/04/2010 - 10:43h

na verdade os dados à procurar no arquivo, nem o arquivo sao fixos não, vao ser verificados de um formulario que preencher
fiz assim:

TESTE=`grep $FORM_USER /etc/dhcpd.reservations`

if [ "$FORM_ENVIAR" = "Enviar" ]; then
elif [ ${#TESTE} != 0 ]; then
echo "JÁ EXISTE O USUÁRIO CADASTRADO! ($FORM_USER)"
else
...
...

agora axo que vai dar certo, antes do cadastro ser feito é verificado varios arquivos se já existe o usuario, mac, ip, etc


4. Re: Se existir palavra X no arquivo Y... [RESOLVIDO]

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 13/04/2010 - 15:40h

Para facilitar, você já pode testar o comando grep diretamente no if:

if grep 'palavra' arquivo.txt; then
...
...
fi

Desse modo você dispensa o uso da variável TESTE e o if já testa diretamente a variável $? que guarda o retorno do grep.

t+


5. Re: Se existir palavra X no arquivo Y... [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 13/04/2010 - 15:52h

daemonio nao tentei assim não, tive que fazer aqui 9 variaveis, alguns arquivos devo checar mais de uma palavra, então foram varios Ifs tambem:

VERIF_USER_DHCP=`grep $FORM_USER /etc/dhcpd.reservations`
VERIF_MAC_DHCP=`grep $FORM_MAC /etc/dhcpd.reservations`
VERIF_IP_DHCP=`grep $FORM_IP /etc/dhcpd.reservations`
VERIF_IP_DHCP2=`grep $FORM_IP /etc/dnsmasq.conf.template`
VERIF_GATEWAY_SUBREDES=`grep $FORM_GATEWAY /etc/coyote/subnet.cfg`
VERIF_IP_FIREWALL=`grep $FORM_IP /etc/coyote/firewall`
VERIF_MAC_FIREWALL=`grep $FORM_MAC /etc/coyote/firewall`
VERIF_USER_EC=`grep $FORM_USER /usr/local/easycaptive/config/passwd`
VERIF_IP_EC=`grep $FORM_IP /usr/local/easycaptive/config/passwd`

e algumas verifica mais de uma vez, dependendo da ação, então com variável acho que ficou mais facil mesmo.


6. Re: Se existir palavra X no arquivo Y... [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 13/04/2010 - 21:48h

Não sei se interessa, mas as vezes ao inves de usar várias vezes o grep, pode valer a pena fazer um egrep "$parm1|$parm2|$parm3" arquivo, nisso você checa de uma vez só ... só pra não ter que verificar várias vezes o mesmo arquivo. Pode não ser exatamente o seu caso ... só pra lembrar do querido EGREP.


7. Re: Se existir palavra X no arquivo Y... [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 14/04/2010 - 08:41h

Interessante fdmarp, desse eu não sabia
bom eu to engatinhando em Linux ainda, tenho muuito oq aprender
vou testar com egrep aqui depois, valew a dica.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts