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

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

Re: [shell-script] comparar campos em linhas e deletar as diferentes


From: Davi Lima
Subject: Re: [shell-script] comparar campos em linhas e deletar as diferentes
Date: Wed, 20 Jun 2012 16:17:40 -0300
User-agent: Mutt/1.4.2.3i

* Fabinho (address@hidden) wrote:
> Davi lima , voc? pode primeiramente remover do arquivo 1 os n?meros e
> virgulas, e em seguida comparar com o comando grep para verificar se o nome
> sem o numero contem no segundo arquivo.
> 
> #Aqui vai um exemplo funcionando
> #Obs: eu n?o conhe?o muito de sed, deve ter um jeito melhor de fazer isso
> com express?o regular
> #para usar so colocar o nomedoscript arquivo1 arquivo2
> ###################################
> #!/bin/sh
> ## script arq1 arq2
> 
> ARQ1=$1
> ARQ2=$2
> 
> temp=tmp.arq
> resultado=Resultado.txt
> 
> rm $temp &> /dev/null
> rm $resultado &> /dev/null
> 
> # Remove numero dos nomes e elimina linhas em branco e virgulas
> sed
> 's/\,//g;s/0//g;s/1//g;s/2//g;s/3//g;s/4//g;s/5//g;s/6//g;s/7//g;s/8//g;s/9//g;/^$/d'
> $ARQ1 > $temp
> 
> cat $temp | while read line
> do
>   grep "$line" $ARQ2 | tee -a $resultado
> done
> 
> rm $temp &> /dev/null
> ################################################
> 
> 
> Em 20 de junho de 2012 10:52, Emerson Domingues Souto - H2M <
> address@hidden> escreveu:
> 
> > **
> >
> >
> > Nesse caso n?o seria -f ? Por?m teria que ter alguma forma de desprezar o
> > ?ltimo campo de cada linha do arquivo1 (150,00 300,00 34,00 ....)
> >
> > grep -f arquivo1 arquivo2 > arquivo3
> >
> > Emerson Domingues Souto
> >
> > Tecnologia da Informa??o
> >
> > Mar?tima Seguros S/A
> >
> > Fone: 11 3156-1017
> >
> > De: address@hidden [mailto:
> > address@hidden] Em nome de sh3ll script
> > Enviada em: quarta-feira, 20 de junho de 2012 10:17
> > Para: address@hidden
> > Assunto: Re: [shell-script] comparar campos em linhas e deletar as
> > diferentes
> >
> >
> > Pensei assim
> >
> > $ grep -v "$(arquivo2)" arquivo1 > arquivo3
> >
> > Em 20 de junho de 2012 10:10, Petterson Faria <
> > address@hidden <mailto:contato%40pettersonfaria.com.br>
> > > escreveu:
> >
> > > poderia fazer um while read no arquivo1 e usar o sed /^nome/D no arquivo
> > 2
> > >
> > > --
> > > 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/6/20 Davi Lima <address@hidden <mailto:
> > davimarc%40terra.com.br> >
> >
> > >
> > > > **
> > > >
> > > >
> > > > Ol? colegas,
> > > > Sou novo na lista e em shell script, e preciso da ajuda de voc?s.
> > > > ? o seguinte:
> > > > Tenho dois arquivos mais ou menos assim
> > > >
> > > > arquivo1
> > > > Fulano da Silva 150,00
> > > > Sicrano Vieira 300,00
> > > > Silano Engano Olavo 34,00
> > > >
> > > > arquivo2
> > > > Maria Nao sei das Quantas;address@hidden <mailto:
> > marianaosei%40email.com.br>
> > > > Fulano da Silva;address@hidden <mailto:
> > fulanodasilva%40email.com.br>
> > > > Euclano Disbravo;address@hidden <mailto:
> > euclanodisbravo%40email.com.br>
> > > > Sicrano Vieira;address@hidden <mailto:
> > sicranovieira%40email.com.br>
> > > > Silano Engano Olavo;address@hidden <mailto:
> > silanoengano%40email.com>
> > > >
> > > > Eu queria comparar os nomes dos arquivos linha a linha e apagar as
> > linhas
> > > > do arquivo2
> > > > cujo os nomes n?o aparecem no arquivo1.
> > > >
> > > > Abra?os
> > > > =================================
> > > > Davi Lima
> > > > An?polis - GO
> > > >
> > > >
> > >
> > >
> > > [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 <mailto:
> > shell-script-unsubscribe%40yahoogrupos.com.br>
> > > ----------------------------------------------------------
> > > 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]
> >
> >  
> >
> 
> 
> 
> -- 
> Att,
> F?bio Duarte de Oliveira
> UFPR -  (041) 9825-9658
> 
> 
> [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
> 
> 
> 

Olá Fabinho,
Eu testei aqui mudando o comando sed pelo comando cut -f1, já que o delimitador 
entre 
o nome e o número é um TAB. Funcionou em parte, uma vez que ele copiou o 
arquivo2 com 
as linhas excluídas mas no final ele copia o arquivo2 completo.

=================================
Davi Lima
Anápolis - GO


reply via email to

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