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

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

Re: [shell-script]


From: Marlon Vagner Reck
Subject: Re: [shell-script]
Date: Sun, 13 Jul 2008 21:59:29 -0300
User-agent: KMail/1.9.9

        Obrigado a todos 
        
        A parte do && e do grep -qs eu tinha entendido, minha dúvida é como ele 
conseguiu  fazer o grep procurar uma palvra dentro de outra sem esta estar em 
um arquivo e sim em uma váriavel ou no final de um comando mas com a ajuda do 
Julio C. Neves eu entendi, agora o que me perturba é o comando do Julio ( 
rindo  de mim mesmo por não entender os comandos ):
 grep -qs $1 <<< "$2" && echo "$1 está contida em $2"

a parte que não entendi é o que os " <<< " fazem de diferente de apenas um " 
< " ,  as váriaveis não estão todas no mesmo shell ?



Em Sunday 13 July 2008 21:18:51 Julio C. Neves escreveu:
> Fala Marlon,
> a opção -q (quiet) do grep serve para não jogar na stdout a linha em que
> existia a cadeia
>
> $ grep ^root /etc/passwd && echo achei
> root:x:0:0:root:/root:/bin/bash
> achei
> $ grep -q ^root /etc/passwd && echo achei
> achei
>
> a opção -s é para não mandar erro para a saída caso vc não tenha direito de
> leitura ou o arquivo não exista (o grep não dá erro qdo não encontra a
> cadeia pesquisada). Veja:
>
> $ grep julio nãoexiste
> grep: nãoexiste: Arquivo ou diretório inexistente
> $ grep -s julio nãoexiste
> $
>
> Então a opção -qs significa silêncio total e stdout e stderr. Experimente
> tb fazer assim:
>
> # passando parâmetros para o shell corrente
> $ set - ana banana
> # Será que funcionou?
> $ echo $0
> bash
> $ echo $1
> ana
> $ echo $2
> banana
> # Blz! Então vamos ao que interessa
> $ grep -qs $1 <<< "$2" && echo "$1 está contida em $2"
> ana está contida em banana
>
> Assim vc escreve menos e é um pouquinho mais rápido pq não tem pipe para
> fazer fork do shell
> --
> Abraços,
> Julio
> Em setembro estarei dando um treinamento
> Shell em Brasília (em 2 fins de semana).
> Mais informações: www.tecnologiabr.com.br
> Tel: (61) 3354-3162
>
> 2008/7/13 Marlon Vagner Reck <address@hidden>:
> >   Amigos
> >
> > Comprei o livro "Shell script profissional " do Aurélio ( muito bom por
> > sinal)
> > e me deparei com a seguinte linha:
> >
> > echo $2 | grep -qs $1 && echo "$1 está contida em $2"
> >
> > que pesquisa dentro de uma palavra a existência de outra, exemplo ana
> > dentro
> > de banana. Só que eu não consegui entender de o funcionamento dela, o
> > echo mostra a váriavel 2 digamos "banana" e joga no sub-shell para que o
> > grep pesquise a váriavel 1 digamos "ana" dentro da palavra "banana", qual
> > a mecânica da coisa a lógica?
> >
> > Obrigado a todos
> > Marlon




reply via email to

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