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

[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
>  &lt;address@hidden&gt;</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>
>  [ &quot;$2&quot; ] || { echo &quot;usage: $0 &lt;string&gt;
>  &lt;file&gt;&quot;; exit 1; }<br>
>  rem=$1<br>
>  arq=$2<br>
>  sed 's/'$rem'//g' $arq &gt; .tmp<br>
>  cat .tmp &gt; $arq<br>
>  rm -f .tmp<br>
>  <br>
>  <br>
>  Em 14/10/05, Reinaldo Marques de Lima&lt;address@hidden&gt;
>  escreveu:<br>
>  &gt;  Falai Galera,<br>
>  &gt;<br>
>  &gt;  precisava de um help nesse script q eu uso pra remover ocorrencias de
>  um<br>
>  &gt;  certo arquivo texto....eu consigo remover a ocorrencia desejada, mas
>  no<br>
>  &gt; laço<br>
>  &gt;  ele acaba perdendo mais algumas ocorrencias, por exemplo:<br>
>  &gt;<br>
>  &gt;
> ____________________________________________________________________<br>
>  &gt;<br>
>  &gt;  cat arquivo.txt<br>
>  &gt;  roberto<br>
>  &gt;  ricardo<br>
>  &gt;  reinaldo<br>
>  &gt;<br>
>  &gt;  ./plasrm.bsh reinaldo<br>
>  &gt;  'reinaldo' foi removido de arquivo.txt<br>
>  &gt;<br>
>  &gt;  cat arquivo.txt<br>
>  &gt;  ricardo<br>
>  &gt;
> ____________________________________________________________________<br>
>  &gt;<br>
>  &gt;  manjaram qual é o problema....ele perde mais de uma ocorrencia na
> hora
>  de<br>
>  &gt;  reescrever o arquivo...bom, estou passando o codigo pra vcs darem
>  uma<br>
>  &gt;  verificada e se puderem ajudar ficarei grato...blz...valeu<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;
> -------------------------------------------------------------------------------------------------------<br>
>  &gt;<br>
>  &gt;  ARQUIVO=&quot;arquivo.txt&quot;<br>
>  &gt;  REMOVE=${*}<br>
>  &gt;<br>
>  &gt;  for i in ${REMOVE}; do<br>
>  &gt;<br>
>  &gt;          MANTIDOS=`grep -v $i plasall.txt`<br>
>  &gt;<br>
>  &gt;                  for j in ${MANTIDOS}; do<br>
>  &gt;<br>
>  &gt;                          echo $j &gt; $ARQUIVO<br>
>  &gt;<br>
>  &gt;                  done<br>
>  &gt;<br>
>  &gt;  done<br>
>  &gt;<br>
>  &gt;  echo &quot;'$REMOVE' removido de 'arquivo.txt'.&quot;<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;
> ---------------------------------------------------------------------<br>
>  &gt;  Esta lista não admite a abordagem de outras liguagens de programação,
>  como<br>
>  &gt; perl, C etc. Quem insistir em não seguir esta regra será moderado sem
>  prévio<br>
>  &gt; aviso.<br>
>  &gt;
> ---------------------------------------------------------------------<br>
>  &gt;  Sair da lista:
> address@hidden<br>
>  &gt;
> ---------------------------------------------------------------------<br>
>  &gt;  Esta lista é moderada de acordo com o previsto em<br>
>  &gt; <a
> href="http://www.listas-discussao.cjb.net";>http://www.listas-discussao.cjb.net</a><br>
>  &gt;
> ---------------------------------------------------------------------<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;<br>
>  &gt;  Yahoo! Grupos, um serviço oferecido por:<br>
>  &gt;<br>
>  &gt;  ________________________________<br>
>  &gt;  Links do Yahoo! Grupos<br>
>  &gt;<br>
>  &gt;<br>
>  &gt; Para visitar o site do seu grupo na web, acesse:<br>
>  &gt; <a
> href="http://br.groups.yahoo.com/group/shell-script/";>http://br.groups.yahoo.com/group/shell-script/</a><br>
>  &gt;<br>
>  &gt; Para sair deste grupo, envie um e-mail para:<br>
>  &gt; address@hidden<br>
>  &gt;<br>
>  &gt; O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
>  do<br>
>  &gt; 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&amp;word=051007-notesaldaomp&amp;id=2021&amp;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&amp;word=051007-camdigmlmp&amp;id=2021&amp;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!.


reply via email to

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