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: 17 Sep 2016 18:08:18 -0700

Caro amigo

Acredito que a linha:

while read line;
    do IFS='.' read lastname <<< $line; 

possa ser melhorada, inclusive o grande mestre Júlio de uma sugestão que vai de encontro a esse caso numa thread recente. Tenho certeza que poderia adaptar ao seu caso e melhorar a performace.

Os trecho do sed com essa característica e da subtração que citou, poderia mudar desse formato:
s/Mozilla-Status: 0001/Mozilla-Status: 0000/g;
para algo assim:

s/Mozilla-Status: \([E0-9][0-9][0-9]\)1/Mozilla-Status: \10/g;
s/Mozilla-Status: \([E0-9][0-9][0-9]\)3/Mozilla-Status: \12/g;
s/Mozilla-Status: \([E0-9][0-9][0-9]\)5/Mozilla-Status: \14/g;
s/Mozilla-Status: \([E0-9][0-9][0-9]\)7/Mozilla-Status: \16/g;
s/Mozilla-Status: \([E0-9][0-9][0-9]\)9/Mozilla-Status: \18/g;

Que cobriria todas as possibilidades:

Obs.:
Na regex coloquei uma lista [E0-9] pois vi a ocorrência do caracter 'E', e isso me levanta suspeita que posse ser um formato hexadecimal, e se for seria melhor trocar por [A-F0-9].

Mas analisando o que foi passado no script original e pelas ocorrências do caracteres, a regex poderia se restringir no grupo a:
\([E0-9][01248][0128]\)
e a linha:
s/Mozilla-Status: \([E0-9][0-9][0-9]\)7/Mozilla-Status: \16/g
poderia ser dispensada pois não aparece nenhum que termina com 7


Isso ajuda?

[]'s
Itamar
reply via email to

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