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

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

Re: Ajuda com SED


From: itamarnet
Subject: Re: Ajuda com SED
Date: 18 Sep 2016 14:28:40 -0700

Caro amigo Pere

Como mestre Júlio comentou ele estava num aparelho mobile e eu no meu micro e pude fazer um teste melhor com um exemplo.
Mas como comentei antes o Júlio já havia comentado algo parecido na forma como fazer o laço while em outra thread, mas seria algo como trocar
while read line;
    do IFS='.' read lastname <<< $line;


por:
 while IFS='.' read lastname
 do

Nesse caso elimina o uso da variável $line


Mas outro ponto que poderia considerar era trocar:
find * -type f > fitxersmbl;
cat fitxersmbl | sed '/.msf/d;/.dirinfo/d;/.html/d;/.dat/d;/.tar/d;/.com$/d' > fitxersmbl-net;

por :

 find * -type f | sed '/.msf/d;/.dirinfo/d;/.html/d;/.dat/d;/.tar/d;/.com$/d' > fitxersmbl-net;

E assim nem preciso do arquivo "fitxersmbl"


E se não precisar do arquivo "fitxersmbl-net", poderia ligar tudo através de pipe:

 find * -type f |
 sed '/.msf/d;/.dirinfo/d;/.html/d;/.dat/d;/.tar/d;/.com$/d' |
 while IFS='.' read lastname
  do
      echo *$lastname*;
      *** trecho do sed ***
  done


Obs.:
O uso de IFS='.' me intriga para esse caso de uso, pois imagino que pode haver problemas com arquivos com ponto no nome. Todavia como usa a variável $lastname, junto com asteriscos(*$lastname*), isso deve contornar o problema, entretando e se a variável $lastname repetir mais de uma vez?
Vai haver um processamento repetido e desnecessário eu acredito, que pode impactar na velocidade. Mas como não sei exatamente a estrutura, considere essa observação menos relevante.


[]'s
Itamar
reply via email to

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