[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
- listar arquivos grandes, Alex, 2008/07/13
- Re: [shell-script] listar arquivos grandes, Flavio Torres, 2008/07/13
- Re: [shell-script] listar arquivos grandes, Alex, 2008/07/13
- Re: [shell-script] listar arquivos grandes, Julio C. Neves, 2008/07/13
- [shell-script], Marlon Vagner Reck, 2008/07/13
- Re: [shell-script], Julio C. Neves, 2008/07/13
- Re: [shell-script],
Marlon Vagner Reck <=
- Re: [shell-script], Julio C. Neves, 2008/07/14
- Re: [shell-script], Guilherme Gall, 2008/07/14
- Re: [shell-script], Julio C. Neves, 2008/07/14
- Re: [shell-script], Julio C. Neves, 2008/07/14
- Re: [shell-script], Tiago Barcellos Peczenyj, 2008/07/15
- [shell-script] Agradecendo, marlon_mca, 2008/07/18
- Re: [shell-script] listar arquivos grandes, alexandre, 2008/07/15