[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] problemas com remoção de linhas
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] problemas com remoção de linhas |
Date: |
Mon, 17 Oct 2005 11:11:23 -0200 |
Testa esse cara aqui, de repente...
#!/bin/bash
[[ "$2" ]] || { echo "usage: $0 <arquivo> <linha a ser deletada>
<arquivo_sem_a_linha> "; exit 1; }
ORIGIN=$1
TODELETE=$2
DESTINY=$3
rm -rf $DESTINY
cat $ORIGIN | while read LINHA
do [ "$TODELETE" != "$LINHA" ] && echo $LINHA >> $DESTINY
done
Em 17/10/05, Reinaldo Marques de Lima<address@hidden> escreveu:
> Tiago, rolou certo mas eu não queria q no lugar da ocorrencia removida
> ficasse a linha em branco...
>
> :s
>
>
>
>
> <BLOCKQUOTE style='PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT:
> #A0C6E5
> 2px solid; MARGIN-RIGHT: 0px'><font
> style='FONT-SIZE:11px;FONT-FAMILY:tahoma,sans-serif'><hr
> color=#A0C6E5
> size=1>
> From: <i>Tiago Barcellos Peczenyj
> <address@hidden></i><br>Reply-To:
> <i>address@hidden</i><br>To:
> <i>address@hidden</i><br>Subject: <i>Re: [shell-script]
> problemas com remoção de linhas</i><br>Date: <i>Fri, 14 Oct 2005 13:07:11
> -0300</i><br>
> <br><html><body>
>
>
> <tt>
> Eu acho que vc não precisa apelar para laços com leitura do arquivo:<br>
> O Sed ja faz isso...<br>
> <br>
> #!/bin/sh<br>
> [ "$2" ] || { echo "usage: $0 <string>
> <file>"; exit 1; }<br>
> rem=$1<br>
> arq=$2<br>
> sed 's/'$rem'//g' $arq > .tmp<br>
> cat .tmp > $arq<br>
> rm -f .tmp<br>
> <br>
> <br>
> Em 14/10/05, Reinaldo Marques de Lima<address@hidden>
> escreveu:<br>
> > Falai Galera,<br>
> ><br>
> > precisava de um help nesse script q eu uso pra remover ocorrencias de
> um<br>
> > certo arquivo texto....eu consigo remover a ocorrencia desejada, mas
> no<br>
> > laço<br>
> > ele acaba perdendo mais algumas ocorrencias, por exemplo:<br>
> ><br>
> >
> ____________________________________________________________________<br>
> ><br>
> > cat arquivo.txt<br>
> > roberto<br>
> > ricardo<br>
> > reinaldo<br>
> ><br>
> > ./plasrm.bsh reinaldo<br>
> > 'reinaldo' foi removido de arquivo.txt<br>
> ><br>
> > cat arquivo.txt<br>
> > ricardo<br>
> >
> ____________________________________________________________________<br>
> ><br>
> > manjaram qual é o problema....ele perde mais de uma ocorrencia na
> hora
> de<br>
> > reescrever o arquivo...bom, estou passando o codigo pra vcs darem
> uma<br>
> > verificada e se puderem ajudar ficarei grato...blz...valeu<br>
> ><br>
> ><br>
> >
> -------------------------------------------------------------------------------------------------------<br>
> ><br>
> > ARQUIVO="arquivo.txt"<br>
> > REMOVE=${*}<br>
> ><br>
> > for i in ${REMOVE}; do<br>
> ><br>
> > MANTIDOS=`grep -v $i plasall.txt`<br>
> ><br>
> > for j in ${MANTIDOS}; do<br>
> ><br>
> > echo $j > $ARQUIVO<br>
> ><br>
> > done<br>
> ><br>
> > done<br>
> ><br>
> > echo "'$REMOVE' removido de 'arquivo.txt'."<br>
> ><br>
> ><br>
> ><br>
> ><br>
> >
> ---------------------------------------------------------------------<br>
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como<br>
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio<br>
> > aviso.<br>
> >
> ---------------------------------------------------------------------<br>
> > Sair da lista:
> address@hidden<br>
> >
> ---------------------------------------------------------------------<br>
> > Esta lista é moderada de acordo com o previsto em<br>
> > <a
> href="http://www.listas-discussao.cjb.net">http://www.listas-discussao.cjb.net</a><br>
> >
> ---------------------------------------------------------------------<br>
> ><br>
> ><br>
> ><br>
> ><br>
> > Yahoo! Grupos, um serviço oferecido por:<br>
> ><br>
> > ________________________________<br>
> > Links do Yahoo! Grupos<br>
> ><br>
> ><br>
> > Para visitar o site do seu grupo na web, acesse:<br>
> > <a
> href="http://br.groups.yahoo.com/group/shell-script/">http://br.groups.yahoo.com/group/shell-script/</a><br>
> ><br>
> > Para sair deste grupo, envie um e-mail para:<br>
> > address@hidden<br>
> ><br>
> > O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
> do<br>
> > Yahoo!.<br>
> </tt>
>
>
>
>
> <br><br>
> <tt>
> ---------------------------------------------------------------------<br>
> 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.<br>
> ---------------------------------------------------------------------<br>
> Sair da lista:
> address@hidden<br>
> ---------------------------------------------------------------------<br>
> Esta lista é moderada de acordo com o previsto em <a
> href="http://www.listas-discussao.cjb.net">http://www.listas-discussao.cjb.net</a><br>
> ---------------------------------------------------------------------<br>
> </tt>
> <br><br>
>
>
>
>
>
>
>
> <br>
> <table border=0 cellspacing=0 cellpadding=2>
> <tr bgcolor="#FFFFCC">
> <td align=center><font size=-1 color="#003399"><b>Yahoo! Grupos, um
> serviço oferecido por:</b></font></td>
> </tr>
> <tr bgcolor="#FFFFFF">
> <td align=center width=470><img
> src="http://br.i1.yimg.com/br.yimg.com/i/071005_324418_pop_notebooks_c.gif"
> width=300 height=250 border=0 usemap="#Map">
> <map name=Map>
> <area shape=rect coords="4,3,149,247"
> href="http://br.rd.yahoo.com/SIG=12frcucto/M=371233.7216260.8122519.4826560/D=brclubs/S=2137111254:HM/Y=BR/EXP=1129313233/A=3047799/R=0/SIG=19kltemtn/*http://www.mercadolivre.com.br/jm/pms?site=324418&word=051007-notesaldaomp&id=2021&as_opt=http://www.mercadolivre.com.br/jm/search?as_categ_id=1652$$noQCat$$as_display_type=G$$as_filtro_id=MPAGO$$as_filtro_id2=PRECIO_FIJO$$as_pr_categ_id=AD$$as_price_max=10000$$as_price_min=2260$$as_order_id=MAS_OFERTADOS"
> alt="Notebooks a partir de R$ 2.499!">
> <area shape=rect coords="159,2,296,248"
> href="http://br.rd.yahoo.com/SIG=12frcucto/M=371233.7216260.8122519.4826560/D=brclubs/S=2137111254:HM/Y=BR/EXP=1129313233/A=3047799/R=1/SIG=1921h9eaj/*http://www.mercadolivre.com.br/jm/pms?site=324418&word=051007-camdigmlmp&id=2021&as_opt=http://www.mercadolivre.com.br/jm/search?as_categ_id=1042$$as_pr_categ_id=AD$$as_filtro_id=MPAGO$$as_order_id=MAS_OFERTADOS$$as_price_min=378$$as_display_type=G$$as_price_max=1700$$as_filtro_id2=NUEVO"
> alt="Câmeras Digitais a partir de R$ 399 em ate 6x!">
> </map></td>
> </tr>
> </table>
>
>
>
>
>
>
>
> <br>
> <hr width=500>
> <b>Links do Yahoo! Grupos</b><br>
> <ul>
> <li>Para visitar o site do seu grupo na web, acesse:<br><a
> href="http://br.groups.yahoo.com/group/shell-script/">http://br.groups.yahoo.com/group/shell-script/</a><br>
> <li>Para sair deste grupo, envie um e-mail para:<br><a
> href="mailto:address@hidden?subject=Unsubscribe">address@hidden</a><br>
> <li>O uso que você faz do Yahoo! Grupos está sujeito aos <a
> href="http://br.yahoo.com/info/utos.html">Termos do
> Serviço do Yahoo!</a>.
> </ul>
> </br>
>
>
>
>
> </body></html>
>
> <br></font></BLOCKQUOTE>
>
>
>
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
> ________________________________
> Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.