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

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

Re: [shell-script] bash expansion


From: William Alves dos Santos
Subject: Re: [shell-script] bash expansion
Date: Fri, 29 Apr 2011 15:09:25 -0300

Caro,


Teste dessa forma, aqui funcionou.

REMOVER_ERRO=`cat file.txt | tr ' ' ';' | awk -F";" '{if($3!=$NF) print
$1,$2"_"$3,$NF }' | tr '_' ' '`
cat file.txt | tr ' ' ';' | awk -F";" '{if($3!=$NF) print $1,$2"_"$3,$NF }'
>> file.txt
cat file.txt | grep -v "$REMOVER_ERRO" | sort -u | tr ' ' ';' | awk -F";" '{
OFS="+"; print "NUMERO: "$1, "NOME: "$2,"MODELO: "$3}' | tr '+' '\n' | cut
-d')' -f1

Favor responder.

Abraços

*William Alves dos Santos*
**Cel.: +55 (11) 6835 8172

 <address@hidden> <http://www.proatividadeweb.com>


Em 29 de abril de 2011 10:43, Marco polo Gonçalves rezende <
address@hidden> escreveu:

>
>
> Bom dia Gustavo,
>
> Teste esse sed:
>
> sed -e 's/^\([^)]*\)) \(.*\)[ ]\(.*\)$/NUMERO:\1\nMODELO:\2\nNOME:\3\n/g'
> nomedoarquivo
>
> Atenciosamente,
>
>
> ________________________________
> Marco Polo G. Rezende
> (31)9757-2245
> (31)3504-1161
>
> Skype: marcopolorezende
> Msn: address@hidden
>
> ________________________________
> De: Gustavo Soares [SLot] <address@hidden>
>
> Para: address@hidden
> Enviadas: Sexta-feira, 29 de Abril de 2011 10:27
>
> Assunto: Re: [shell-script] bash expansion
>
>
> Não funcionou, pois a terceira opção tem uma forma diferente, observe:
>
> 3) teste agp epsonfx
>
> o nome da impressora eh "teste agp" e depois vem o modelo "epsonfx" a
> bagunça está ai.
>
> root@bavaria:~# cat impressoras | tr ' ' ';' | awk -F";" '{ OFS="+";
> print "NUMERO: "$1, "NOME:"$2,"MODELO: "$3}' | tr '+' '\n' | cut -d')' -f1
> NUMERO: 1
> NOME:cpd
> MODELO: epsonfx
> NUMERO: 2
> NOME:teste
> MODELO: epsonfx
> NUMERO: 3
> NOME:teste
> MODELO: agp
> NUMERO: 6
> NOME:pessoal
> MODELO: epsonfx
> NUMERO: 16
> NOME:pessoal1
> MODELO: epsonlx
> NUMERO: 26
> NOME:pessoal2
> MODELO: hpdjet
> NUMERO:
> NOME:
> MODELO:
> root@bavaria:~#
>
> Em 29-04-2011 10:22, William Alves dos Santos escreveu:
> > Caro,
> >
> >
> > Veja se ajuda
> >
> > cat file.txt | tr ' ' ';' | awk -F";" '{ OFS="+"; print "NUMERO: "$1,
> "NOME:
> > "$2,"MODELO: "$3}' | tr '+' '\n' | cut -d')' -f1
> >
> > Lembrando que file.txt é onde esta as informações do seu arquivo.
> >
> >
> > Abraços
> >
> > *William Alves dos Santos*
> > **Cel.: +55 (11) 6835 8172
> >
> > <address@hidden> <http://www.proatividadeweb.com>
> >
> >
> > Em 29 de abril de 2011 10:00, Gustavo Soares [SLot]<address@hidden
> >escreveu:
> >
> >>
> >> Ola galera.
> >>
> >> Tenho o seguinte arquivo:
> >>
> >> 1) cpd epsonfx
> >> 2) teste epsonfx
> >> 3) teste agp epsonfx
> >> 6) pessoal epsonfx
> >> 16) pessoal1 epsonlx
> >> 26) pessoal2 hpdjet
> >>
> >> E fiz o script pra poder ler esse arquivo e separar umas coisinhas pra
> mim.
> >>
> >> #!/bin/bash
> >> while read linha; do
> >> numero=${linha%%)*}
> >> modelo=${linha##* }
> >> nome=$(echo ${linha} | sed "s/$modelo//;s/$numero) //")
> >> echo "NUMERO: ${numero}"
> >> echo "NOME : ${nome}"
> >> echo -e "MODELO: ${modelo}\n"
> >> done< impressoras
> >>
> >> O que gostaria e de trocar o sed por expansion mas não sei como fazer
> >> pra remover $numero $modelo, o que sobrar vira $nome.
> >>
> >> Uma saida pra poder ajudar
> >>
> >> NUMERO: 1
> >> NOME : cpd
> >> MODELO: epsonfx
> >> NUMERO: 2
> >> NOME : teste
> >> MODELO: epsonfx
> >> NUMERO: 3
> >> NOME : teste agp
> >> MODELO: epsonfx
> >> NUMERO: 6
> >> NOME : pessoal
> >> MODELO: epsonfx
> >> NUMERO: 16
> >> NOME : pessoal1
> >> MODELO: epsonlx
> >> NUMERO: 26
> >> NOME : pessoal2
> >> MODELO: hpdjet
> >>
> >> Obrigado.
> >>
> >> --
> >> -------------------
> >> SLot
> >> UIN: 19596909
> >> Linux User: 124842
> >> Jabber: address@hidden
> >> Emails: address@hidden | address@hidden
> >>
> >>
> >>
> >
> > [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
> >
> >
>
> --
> -------------------
> SLot
> UIN: 19596909
> Linux User: 124842
> Jabber: address@hidden
> Emails: address@hidden | address@hidden
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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