Hola Pere,
estou no mobile, então não tenho como testar, nem ver se é
mais rápido, mas
se todas as linhas de fitxersmbl-net forem iguais a essas
que vc mandou, tente
o seguinte:
$ Sai=$(sed -r 's/(.*)([0-9]{4})/printf \"\1%04d\\n"
$((\2-1))/' fitxersmbl-net); eval "$Sai"
Abcs,
Julio
*@juliobash*
*Próximos cursos de Shell*
*Cidade Local Período*
**
*São Paulo 4Linux
<https://www.4linux.com.br/curso/programacao-em-shell-script>
05-09/12*
Dou treinamento de *Shell* em qualquer cidade.
Para mais detalhes, me mande um e-mail
<address@hidden>.
Em 17 de setembro de 2016 19:51, Gmail address@hidden
[shell-script] <
address@hidden> escreveu:
>
>
> Boa tarde:
>
> Preciso de ajuda para ver se você pode acelerar um
processo , eu tenho que
> recolher mails de cerca de 400 máquinas, felizmente,
estão em Thunderbird
> no formato mbox , mas há muitas caixas de correio que
são compartilhados em
> muitas das máquinas, por várias razões , nem todos
arquivos mbox têm o
> mesmo número de e-mails , alguns têm mais outros têm
menos , e muitos são
> repetidas.
>
> Estou usando SED , para que em todas as pastas , as
mensagens permanecem
> marcadas como não lidas . Então é mais fácil de
trabalhar , eu acho.
>
> O que usamos agora é este script que recorre todas as
pastas dentro MAIL
>
> *find * -type f > fitxersmbl; *
> *cat fitxersmbl | sed
>
'/.msf/d;/.dirinfo/d;/.html/d;/.dat/d;/.tar/d;/.com$/d'
> fitxersmbl-net; *
> *while read line; *
> * do IFS='.' read lastname <<< $line; *
> * echo "$lastname";*
>
> *sed -i'.old' 's/Mozilla-Status: 0001/Mozilla-Status:
0000/g;*
> *s/Mozilla-Status: 0003/Mozilla-Status: 0002/g;*
> *s/Mozilla-Status: 0005/Mozilla-Status: 0004/g;*
> *s/Mozilla-Status: 0009/Mozilla-Status: 0008/g;*
> *s/Mozilla-Status: 0011/Mozilla-Status: 0010/g;*
> *s/Mozilla-Status: 0021/Mozilla-Status: 0020/g;*
> *s/Mozilla-Status: 0081/Mozilla-Status: 0080/g;*
> *s/Mozilla-Status: 0101/Mozilla-Status: 0100/g;*
> *s/Mozilla-Status: 0201/Mozilla-Status: 0200/g;*
> *s/Mozilla-Status: 0401/Mozilla-Status: 0400/g;*
> *s/Mozilla-Status: 0801/Mozilla-Status: 0800/g;*
> *s/Mozilla-Status: 1001/Mozilla-Status: 1000/g;*
> *s/Mozilla-Status: E001/Mozilla-Status: E000/g;*
> *s/Mozilla-Status: 0013/Mozilla-Status: 0012/g;*
> *s/Mozilla-Status: 0023/Mozilla-Status: 0022/g;*
> *s/Mozilla-Status: 0083/Mozilla-Status: 0082/g;*
> *s/Mozilla-Status: 0103/Mozilla-Status: 0102/g;*
> *s/Mozilla-Status: 0203/Mozilla-Status: 0202/g;*
> *s/Mozilla-Status: 0403/Mozilla-Status: 0402/g;*
> *s/Mozilla-Status: 0803/Mozilla-Status: 0802/g;*
> *s/Mozilla-Status: 1003/Mozilla-Status: 1002/g;*
> *s/Mozilla-Status: E003/Mozilla-Status: E002/g;*
> *s/Mozilla-Status: 0015/Mozilla-Status: 0014/g;*
> *s/Mozilla-Status: 0025/Mozilla-Status: 0024/g;*
> *s/Mozilla-Status: 0085/Mozilla-Status: 0084/g;*
> *s/Mozilla-Status: 0105/Mozilla-Status: 0104/g;*
> *s/Mozilla-Status: 0205/Mozilla-Status: 0204/g;*
> *s/Mozilla-Status: 0405/Mozilla-Status: 0404/g;*
> *s/Mozilla-Status: 0805/Mozilla-Status: 0804/g;*
> *s/Mozilla-Status: 1005/Mozilla-Status: 1004/g;*
> *s/Mozilla-Status: E005/Mozilla-Status: E004/g;*
> *s/Mozilla-Status: 0019/Mozilla-Status: 0018/g;*
> *s/Mozilla-Status: 0029/Mozilla-Status: 0028/g;*
> *s/Mozilla-Status: 0089/Mozilla-Status: 0088/g;*
> *s/Mozilla-Status: 0109/Mozilla-Status: 0108/g;*
> *s/Mozilla-Status: 0209/Mozilla-Status: 0208/g;*
> *s/Mozilla-Status: 0409/Mozilla-Status: 0408/g;*
> *s/Mozilla-Status: 0809/Mozilla-Status: 0808/g;*
> *s/Mozilla-Status: 1009/Mozilla-Status: 1008/g;*
> *s/Mozilla-Status: 1011/Mozilla-Status: 1010/g;*
> *s/Mozilla-Status: E009/Mozilla-Status: E008/g' *
> *"$lastname"; *
> *done < fitxersmbl-net*
>
>
> Funciona, mas é muito lento , você vê que faz a mesma
operação várias
> vezes.
>
> Thunderbird utiliza o último dígito para marcar o
e-mail como se ela foi
> lida ou não, você pode perceber que o que eu faço é
subtrair 1 dos números
> ímpares , 1-3-5-9 e manter os três primeiros dígitos
do seu valor. Eu não
> ver como fazer subtração, dependendo se o número for
ímpar.
>
> Muito obrigado
> --
>
>
>
> Pere
>
> address@hidden
>
>
>
> <http://www.imatge.com/>
>
> ------------------------------------
>
> AVIS LEGAL
>
> Nota de confidencialitat: Aquest missatge podria
contenir missatges
> d'empresa i altre informació confidencial tutelada
per les lleis de Europea
> i altres estats, Si Vostè el rep per error o sense
ser una de les persones
> esmenades a la capçalera, haurà de destruir-lo sense
copiar-lo ni
> revelar-l'ho o qualsevol altre acció relacionada amb
el contingut del
> missatge i notificar-ho per correu electrònic a
l'emissor del missatge.
>
> Les persones o entitats que incompleixin els deures
de confidencialitat
> podran ésser perseguides davant dels Tribunals de
Justícia sota l'empar de
> la legislació civil, penal i administrativa nacional
i internacional.
>
> Gracies per la seva cooperació.
>
> ------------------------------------
>
> LEGAL NOTICE
>
> Confidentiality notice: This mail may include
business and other
> confidential information protected under the laws of
and other territories.
> if you are not one of the intended recipients of the
message, you are
> legally obliged to delete the message content.
Furthermore, you are kindly
> requested to report immediately the incident to the
sender.
>
> Breach of confidentiality duties is a serious
criminal offence in and
> other territories. Offenders shall be legally
prosecuted worldwide.
>
> Thank you for your cooperation.
>
>
>
>
>
[As partes desta mensagem que não continham texto foram
removidas]