[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: [shell-script] Re: S eparar os dígitos de um núme
From: |
itamarnet |
Subject: |
Re: [shell-script] Re: [shell-script] Re: S eparar os dígitos de um número |
Date: |
07 Dec 2018 15:32:38 +0000 |
Caro Collons
O código também poderia ser
sed ':a;s/\B[0-9]\{3\}\>/ &/;ta'
sed ':a;s/\B[0-9]\{3\}\b/ &/;ta'
sed -r ':a;s/\B[0-9]{3}\b/ &/;ta'
sed -r ':a;s/\B[0-9]{3}\>/ &/;ta'
O que significa cada item
:a = é um rótulo no código, que serve de marca para um retorno
/\B[0-9]\{3\}\> = é um bloco de 3 número sem borda no início e com uma borda ao final.
\B diz que não há borda a uma palavra e \b ou \> é o oposto, indica a existência de uma borda
o ' &' ( espaço e &) significa o texto achado com um espaço antes
Esse trecho são partes da subsiituição ficando s/\B[0-9]{3}\>/ &/ ou s/\B[0-9]{3}\b/ &/
O t indica que se a substituição anterior for bem sucedida, retorne ao ponto do rótulo, no caso ta, indica para retornar ao ponto do código com rótulo a ( :a indicado no início )
Existe a versão T, que faz o desvio caso a substituição não aconteça.
Esses saltos ou desvios é parecido com o b, mas nesse caso depende de uma substiuição anterior ser bem sucedida ou não
Espero que tenha sido claro.
[]'s
Itamar