shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Suprimir resultado do comando locate


From: Osvaldo Filho
Subject: Re: [shell-script] Suprimir resultado do comando locate
Date: Wed, 11 Jul 2012 15:38:36 -0300

Isso mesmo que o Petterson falou.

Agora meu ocorreu outro problema.

Com as suas sugestões eu resolvi meu problema. Tudo funfou. O locate não
exibe o caminho até o arquivo como padrão: if [ $confFile ] > /dev/null;
then...

Meu problema é:

No sistema aqui da empresa rodamos uma versão bem desatualizada do ubuntu
(e alguns conectivas). Antes que vem criticas, eu tb não concordo com
sistemas desatualizados. Porém, não sou eu quem decide isso por aqui.
O fato é que na minha máquina possuo uma versão do locate de 2007 feita
pela Red Hat enquanto no equipamento da empresa ele possui uma versão do
locate de 2003. Para fazer funfar lá eu preciso que o locate possua a opção
-b (basename), e a versão de 2003 não possui.

Eu fiz assim: confFile=$(locate -b '\arquivo.conf')

Mas retornou o erro que o locate não possui essa opção. Alguma sugestão se
posso fazer isso com o find? Se posso buscar apenas o nome arquivo.conf?

Temos alguns arquivos com nomes parecidos. Exemplo:

arquivo.conf
arquivo.con.new
arquivo.conf.backup
arquivo.conf~
...

2012/7/11 Alysson Gonçalves de Azevedo <address@hidden>

> **
>
>
> Petterson, a questão é que o amigo lá não quer saber se o arquivo existe em
> uma determinada pasta, ele quer saber se o arquivo existe, seja qual for o
> lugar que esteja.
>
> algo assim:
>
> > thunder@zeus:/home$ locate file.conf
> > /tmp/file.conf
> > $ echo $?
> > 0
> >
> ou então
>
> > thunder@zeus:/home$ locate file.conf
> > thunder@zeus:/home$ echo $?
> > 1
> >
>
> e a resposta para a pergunta sobre tirar o if
> $ locate file.conf || exit 0 #não achou
>
> o || corresponde ao "OR", ou seja, o que vem depois do || é executado caso
> o comando anterior não for executado com sucesso (não retorne 0)
> como complemento, &&, o "AND", é executado se o comando for executado
> normalmente (e retorne 0).
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
> Em 11 de julho de 2012 14:32, Fredi Bieging <address@hidden
> >escreveu:
>
>
> > Você diz do "locate" em relação ao "-e" ? Se sim, não tenho dúvida. Mas
> > pelo que entendi, ele não tem como saber onde está o arquivo.
> >
> > 2012/7/11 Petterson Faria <address@hidden>
> >
> > > **
> > >
> > >
> > > Ja rodou "time" nos dois comandos para ver a brutal diferença?
> > >
> > >
> > > --
> > > Atenciosamente,
> > > *Petterson Faria*
> > >
> > > *"A ciência nunca resolve um problema sem criar mais dez" *(George
> > Bernard
> > > Shaw)
> > > *"It is a capital mistake to theorize before you have all the evidence.
> > It
> > > biases the judgment"* (Sherlock Holmes)
> > >
> > > 2012/7/11 Fredi Bieging <address@hidden>
> > >
> > > > Outra alternativa é usar o -c do locate, ficando assim:
> > > >
> > > > [ $(locate -c arquivo) -gt 0 ] && echo achou
> > > >
> > > > 2012/7/11 Osvaldo Filho <address@hidden>
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > Olá pessoal,
> > > > >
> > > > > Agora surgiu outra dúvida.
> > > > >
> > > > > Fiz o comando assim:
> > > > >
> > > > >
> > > > > if ! locate arquivo.conf;
> > > > > then
> > > > >
> > > > > Como faço para suprimir a saída do locate nesse "if" em particular?
> > > > >
> > > > >
> > > > > 2012/7/11 Osvaldo Filho <address@hidden>
> > > > >
> > > > > > Pronto. Era isso.
> > > > > > Valeu pela ajuda moçada!
> > > > > >
> > > > > >
> > > > > > 2012/7/11 Flavio Cysne <address@hidden>
> > > > > >
> > > > > >> Para suprimir as mensagens de saída você pode utilizar o
> > > > > redirecionamento
> > > > > >> >
> > > > > >> /dev/null ou 1> /dev/null
> > > > > >> O comando ficaria assim:
> > > > > >>
> > > > > >> locate nome_do_arquivo > /dev/null
> > > > > >>
> > > > > >> ou, se quiser ser mais explícito, assim:
> > > > > >>
> > > > > >> locate nome_do_arquivo 1> /dev/null
> > > > > >>
> > > > > >> Lembre-se que o locate utiliza um índice que pode não estar
> > > > atualizado e
> > > > > >> não conter a referência ao arquivo em questão e, com isso, dar
> um
> > > > falso
> > > > > >> negativo quanto à existência do arquivo. Para evitar isso você
> > > poderia
> > > > > >> rodar o comando updatedb ou sudo updatedb, caso o usuário de
> > > execução
> > > > > não
> > > > > >> seja root.
> > > > > >>
> > > > > >> Espero ter ajudado
> > > > > >> Flávio Cysne
> > > > > >>
> > > > > >> Em 11 de julho de 2012 13:21, Osvaldo Filho
> > > > > >> <address@hidden>escreveu:
> > > > > >>
> > > > > >> > **
> > > > > >> >
> > > > > >> >
> > > > > >> > Olá Petterson,
> > > > > >> >
> > > > > >> > Creio que não me fiz entender.
> > > > > >> >
> > > > > >> > Não quero testar se o arquivo é um arquivo comum (opção -f).
> > > > > >> > Quero saber se ele existe.
> > > > > >> > Esse script vai ser utilizado por tecnicos de campo em
> > > equipamentos
> > > > > >> > específicos da empresa.
> > > > > >> > O script vai testar se o arquivo de configuração existe na
> > máquina
> > > > sem
> > > > > >> > saber previamente o caminho. Por isso o uso do locate...
> > > > > >> >
> > > > > >> >
> > > > > >> > 2012/7/11 Petterson Faria <address@hidden>
> > > > > >> >
> > > > > >> > > if [ -f /tmp/arquivo.conf ]; then
> > > > > >> > > echo É um arquivo
> > > > > >> > > fi
> > > > > >> > >
> > > > > >> > > if [ -e /tmp/arquivo.conf ]; then
> > > > > >> > > echo Existe
> > > > > >> > > fi
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > --
> > > > > >> > > Atenciosamente,
> > > > > >> > > *Petterson Faria*
> > > > > >> > >
> > > > > >> > > *"A ciência nunca resolve um problema sem criar mais dez"
> > > *(George
> > > > > >> > Bernard
> > > > > >> > > Shaw)
> > > > > >> > > *"It is a capital mistake to theorize before you have all
> the
> > > > > >> evidence.
> > > > > >> > It
> > > > > >> > > biases the judgment"* (Sherlock Holmes)
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > 2012/7/11 Osvaldo Filho <address@hidden>
> > > > > >> > >
> > > > > >> > > > **
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > Olá a todos, Boa Tarde,
> > > > > >> > > >
> > > > > >> > > > Estou criando um pequeno script e nele preciso localizar
> se
> > um
> > > > > >> arquivo
> > > > > >> > > > existe.
> > > > > >> > > >
> > > > > >> > > > Fiz mais ou menos assim:
> > > > > >> > > >
> > > > > >> > > > #/bin/bash
> > > > > >> > > >
> > > > > >> > > > updatedb
> > > > > >> > > >
> > > > > >> > > > *confFile=$(locate arquivo.conf)¹*
> > > > > >> > > >
> > > > > >> > > > if ! locate arquivo.conf
> > > > > >> > > > then
> > > > > >> > > > exit 0
> > > > > >> > > > else
> > > > > >> > > > *rotina com o arquivo²*
> > > > > >> > > > fi
> > > > > >> > > >
> > > > > >> > > > Meu problema é que na linha em negrito *confFile=$(locate
> > > > > >> > arquivo.conf)¹
> > > > > >> > > > *ele
> > > > > >> > > > mostra o caminho e o arquivo na saída padrão e eu gostaria
> > de
> > > > > >> suprimir
> > > > > >> > > essa
> > > > > >> > > > informação e mostrar apenas dentro da *rotina com o
> > arquivo²*
> > > do
> > > > > >> else.
> > > > > >> > > >
> > > > > >> > > > Alguma idéia de como posso resolver esse problema?
> > > > > >> > > >
> > > > > >> > > > --
> > > > > >> > > > Att,
> > > > > >> > > >
> > > > > >> > > > Osvaldo Filho.
> > > > > >> > > >
> > > > > >> > > > Supervisor Técnico - Trana Tecnologia.
> > > > > >> > > > Sócio-fundador do i-TIC Digital Livre
> > > > > >> > > > <https://www.facebook.com/iticdigital>- Informação Livre
> > para
> > > > > >> todos!
> > > > > >> > > > Twitter i-TIC Digital Livre: @iticdigital
> > > > > >> > > > TUX-CE Member.
> > > > > >> > > > Técnico em Conectividade com Extensão em Desenvolvimento
> de
> > > > > >> Software -
> > > > > >> > > IFCE
> > > > > >> > > > (Cefet).
> > > > > >> > > > Graduando em Telemática - IFCE (Cefet).
> > > > > >> > > > Novell Datacenter Technical Specialist.
> > > > > >> > > > Linux Professional Institute Certified Level 1.
> > > > > >> > > > Novell Certified Linux Administrator (CLA).
> > > > > >> > > >
> > > > > >> > > > Visite: http://osvaldofilho.wordpress.com
> > > > > >> > > >
> > > > > >> > > > http://modestando.wordpress.com
> > > > > >> > > >
> > > > > >> > > > Facebook: Osvaldo Filho
> > > > > >> > > > Twitter: @osvaldofilho
> > > > > >> > > >
> > > > > >> > > > [As partes desta mensagem que não continham texto foram
> > > > removidas]
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > [As partes desta mensagem que não continham texto foram
> > > removidas]
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > ------------------------------------
> > > > > >> > >
> > > > > >> > > ----------------------------------------------------------
> > > > > >> > > Esta lista não admite a abordagem de outras liguagens de
> > > > > programação,
> > > > > >> > como
> > > > > >> > > perl, C etc. Quem insistir em não seguir esta regra será
> > > moderado
> > > > > sem
> > > > > >> > > prévio aviso.
> > > > > >> > > ----------------------------------------------------------
> > > > > >> > > Sair da lista: address@hidden
> > > > > >> >
> > > > > >> > > ----------------------------------------------------------
> > > > > >> > > Esta lista é moderada de acordo com o previsto em
> > > > > >> > > http://www.listas-discussao.cjb.net
> > > > > >> > > ----------------------------------------------------------
> > > > > >> > > Servidor Newsgroup da lista: news.gmane.org
> > > > > >> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > >> > >
> > > > > >> > > Links do Yahoo! Grupos
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> >
> > > > > >> > --
> > > > > >> > Att,
> > > > > >> >
> > > > > >> > Osvaldo Filho.
> > > > > >> >
> > > > > >> > Supervisor Técnico - Trana Tecnologia.
> > > > > >> > Sócio-fundador do i-TIC Digital Livre
> > > > > >> > <https://www.facebook.com/iticdigital>- Informação Livre para
> > > > todos!
> > > > > >> > Twitter i-TIC Digital Livre: @iticdigital
> > > > > >> > TUX-CE Member.
> > > > > >> > Técnico em Conectividade com Extensão em Desenvolvimento de
> > > > Software -
> > > > > >> IFCE
> > > > > >> > (Cefet).
> > > > > >> > Graduando em Telemática - IFCE (Cefet).
> > > > > >> > Novell Datacenter Technical Specialist.
> > > > > >> > Linux Professional Institute Certified Level 1.
> > > > > >> > Novell Certified Linux Administrator (CLA).
> > > > > >> >
> > > > > >> > Visite: http://osvaldofilho.wordpress.com
> > > > > >> >
> > > > > >> > http://modestando.wordpress.com
> > > > > >> >
> > > > > >> > Facebook: Osvaldo Filho
> > > > > >> > Twitter: @osvaldofilho
> > > > > >> >
> > > > > >> > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >>
> > > > > >>
> > > > > >> [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> ------------------------------------
> > > > > >>
> > > > > >> ----------------------------------------------------------
> > > > > >> Esta lista não admite a abordagem de outras liguagens de
> > > programação,
> > > > > >> como perl, C etc. Quem insistir em não seguir esta regra será
> > > moderado
> > > > > sem
> > > > > >> prévio aviso.
> > > > > >> ----------------------------------------------------------
> > > > > >> Sair da lista: address@hidden
> > > > > >> ----------------------------------------------------------
> > > > > >> Esta lista é moderada de acordo com o previsto em
> > > > > >> http://www.listas-discussao.cjb.net
> > > > > >> ----------------------------------------------------------
> > > > > >> Servidor Newsgroup da lista: news.gmane.org
> > > > > >> Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > >>
> > > > > >> Links do Yahoo! Grupos
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Att,
> > > > > >
> > > > > > Osvaldo Filho.
> > > > > >
> > > > > > Supervisor Técnico - Trana Tecnologia.
> > > > > > Sócio-fundador do i-TIC Digital Livre<
> > > > > https://www.facebook.com/iticdigital>- Informação Livre para
> todos!
> > > > > > Twitter i-TIC Digital Livre: @iticdigital
> > > > > > TUX-CE Member.
> > > > > > Técnico em Conectividade com Extensão em Desenvolvimento de
> > Software
> > > -
> > > > > > IFCE (Cefet).
> > > > > > Graduando em Telemática - IFCE (Cefet).
> > > > > > Novell Datacenter Technical Specialist.
> > > > > > Linux Professional Institute Certified Level 1.
> > > > > > Novell Certified Linux Administrator (CLA).
> > > > > >
> > > > > > Visite: http://osvaldofilho.wordpress.com
> > > > > >
> > > > > > http://modestando.wordpress.com
> > > > > >
> > > > > > Facebook: Osvaldo Filho
> > > > > > Twitter: @osvaldofilho
> > > > > >
> > > > > >
> > > > >
> > > > > --
> > > > > Att,
> > > > >
> > > > > Osvaldo Filho.
> > > > >
> > > > > Supervisor Técnico - Trana Tecnologia.
> > > > > Sócio-fundador do i-TIC Digital Livre
> > > > > <https://www.facebook.com/iticdigital>- Informação Livre para
> todos!
> > > > > Twitter i-TIC Digital Livre: @iticdigital
> > > > > TUX-CE Member.
> > > > > Técnico em Conectividade com Extensão em Desenvolvimento de
> Software
> > -
> > > > IFCE
> > > > > (Cefet).
> > > > > Graduando em Telemática - IFCE (Cefet).
> > > > > Novell Datacenter Technical Specialist.
> > > > > Linux Professional Institute Certified Level 1.
> > > > > Novell Certified Linux Administrator (CLA).
> > > > >
> > > > > Visite: http://osvaldofilho.wordpress.com
> > > > >
> > > > > http://modestando.wordpress.com
> > > > >
> > > > > Facebook: Osvaldo Filho
> > > > > Twitter: @osvaldofilho
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > ----------------------------------------------------------
> > > > Esta lista não admite a abordagem de outras liguagens de programação,
> > > como
> > > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > > > prévio aviso.
> > > > ----------------------------------------------------------
> > > > Sair da lista: address@hidden
> > > > ----------------------------------------------------------
> > > > Esta lista é moderada de acordo com o previsto em
> > > > http://www.listas-discussao.cjb.net
> > > > ----------------------------------------------------------
> > > > Servidor Newsgroup da lista: news.gmane.org
> > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > >
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att,

Osvaldo Filho.

Supervisor Técnico - Trana Tecnologia.
Sócio-fundador do i-TIC Digital Livre
<https://www.facebook.com/iticdigital>- Informação Livre para todos!
Twitter i-TIC Digital Livre: @iticdigital
TUX-CE Member.
Técnico em Conectividade com Extensão em Desenvolvimento de Software - IFCE
(Cefet).
Graduando em Telemática - IFCE (Cefet).
Novell Datacenter Technical Specialist.
Linux Professional Institute Certified Level 1.
Novell Certified Linux Administrator (CLA).

Visite: http://osvaldofilho.wordpress.com

           http://modestando.wordpress.com

Facebook: Osvaldo Filho
Twitter: @osvaldofilho


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]