[FUGSPBR] Dúvida em script shell

Gustavo Adolfo Kellermann gkeller em terra.com.br
Ter Jun 10 18:06:16 BRT 2003


On Tue, 10 Jun 2003 17:15:42 -0300
"Joelson" <joelson em curingapneus.com.br> wrote:
...
> Quero que esta "varredura" seja condicional, ou seja, não traga
> determinados resultados, existe um padrão mas não sei como
> implementa-lo.

Buenas, depende da condicao que vc quer implementar. No exemplo que vc
passou, trata-se apenas de um prefixo no nome da tabela, um grep -v (para
eliminar as linhas que correspondem a expressao) jah resolve:

grep "create table" copy.in | grep -v "table ii_" > arquivo.sql

Tem como implementar condicoes muito mais rebuscadas utilizando-se o sed
ou o awk. No sed, o exemplo acima pode ser feito assim:

sed -n '/create table/ {
/table ii_/d
p
}' copy.in > arquivo.sql

o -n diz para soh imprimir as linhas que vc ordenar. As expressoes/strings
procuradas estao entre / /, e os { } servem para agrupas comandos. Assim,
eu inicio o tratamentod das linhas com "create table" mas logo em seguida
removo as linhas com "table ii_" (o comando "d" vem grudado na expressao).
Depois eu imprimo a linha corrente com o comando "p".
Assim, teria como incluir mais coisas a serem removidas, com novas linhas
como aquela que exclui os "table ii_".


-- 
**************************
Gustavo Adolfo Kellermann
gkeller em terra.com.br
Terra Networks Brasil S.A.
**************************
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd