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.