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

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

Re: [shell-script-pt] separador de milhar


From: PY2YP
Subject: Re: [shell-script-pt] separador de milhar
Date: Wed, 28 Oct 2020 14:58:44 -0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0

Ufa! Funcionou. Agora é só alterar o restante do script.
Muito obrigado Itamar e a todos que dedicaram seus tempos

--
Cesar

On 10/28/2020 2:42 PM, Itamar Santos de Souza por (shell-script-pt) wrote:
Então esquece o awk e tenta esse sed para formatar o número, espero que funcione:

sed -r -e 's/\./,/' -e ':a;s/([^.,])([0-9]{3})([,.])/\1.\2\3/;t a'

E depois usa o printif para alinhar como se fosse uma string.

[]'s
Itamar

Em quarta-feira, 28 de outubro de 2020 14:23:25 BRT, PY2YP <py2yp@py2yp.com> escreveu:


Muito obrigado Paulo mas o Cygwin é ruim de serviço, nada funcionou.

--
Cesar

On 10/28/2020 11:22 AM, Paulo wrote:
 > ops não usei um número com milhar
 >
 > octal
 > awk 'BEGIN {printf "%\047.2f\n", 13434324.24}'
 > 13.434.324,24
 >
 > hexa
 > awk 'BEGIN {printf "%\x27.2f\n", 13434324.24}'
 > 13.434.324,24
 >
 > awk --posix 'BEGIN {printf "%\x27.2f\n", 13434324.24}'
 > ccfdd427.2f
 >
 >
 > aspa simples escapada
 > awk 'BEGIN {printf "%'\''.2f\n", 13434324.24}'
 > 13.434.324,24
 >
 >
 > On 28/10/2020 11:15, Paulo wrote:
 >> Olá Cesar, isso pode ser incompatibilidade do Cygwin?
 >> O awk reconhece o octal
 >> awk 'BEGIN {printf "%\047f\n", 10/3}'
 >> 3,333333
 >>
 >> Hexadecimal só o GNU awk reconhece acho
 >> awk 'BEGIN {printf "%\x27f\n", 10/3}'
 >> 3,333333
 >>
 >> awk --posix 'BEGIN {printf "%\x27f\n", 10/3}'
 >> 327f
 >>
 >> Veja se o Cygwin reconhece assim
 >> awk 'BEGIN {printf "%'\''f\n", 10/3}'
 >> 3,333333
 >> fecha as aspas simples do awk depois imprime uma aspa simples
 >> (escapada \' ou entre aspas duplas "'")
 >> depois abre as aspas simples do awk novamente.
 >> Abraços Paulo
 >>
 >> On 28/10/2020 09:05, PY2YP wrote:
 >>> Bom dia senhores,
 >>>
 >>> Estou tentando formatar uma saída com separadores de milhar. Os
 >>> comandos abaixo funcionam muito bem:
 >>>
 >>> LC_NUMERIC=en_US printf "%'.2f\n" 13434324.24 retornando
 >>> 13,434,324.24 em seguida enviando:
 >>> sed -i 's/\./\,/g' filename
 >>> retorna:
 >>> 13.434.324,24
 >>>
 >>> Até aí não há qualquer dúvida. O problema é que preciso dessa
 >>> formatação nesta associação de comandos:
 >>>
 >>> grep "CRA" b4.csv | awk -F";" '{x+=$3}END{printf "Total de CRA"
 >>> "%51.2f\n",  x}'  >> total.csv
 >>>
 >>> Aonde o arquivo b4.csv tem os valores no formato 13434324.24.
 >>>
 >>> Então o comando para formatação ficaria assim:
 >>> grep "CRA" b4.csv | awk -F";" '{x+=$3}END{printf "Total de CRA"
 >>> "%'51.2f\n",  x}'  >> total.csv
 >>> Trazendo o foco para o gerador do problema: "%'51.2f\n" o single
 >>> quote está conflitando com o single quote de abertura da chave do
 >>> awk: '{...
 >>> Tentei usar "%\047... mas não funcionou. Uso o CYGWIN64.
 >>> Alguma dica? Agradeço antecipadamente,
 >>>
 >
 > _______________________________________________
 > Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org>
 > Para se inscrever ou desinscrever acesse:
> https://lists.nongnu.org/mailman/listinfo/shell-script-pt <https://lists.nongnu.org/mailman/listinfo/shell-script-pt>
 > Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas,
> acesse https://lists.nongnu.org/archive/html/shell-script-pt/ <https://lists.nongnu.org/archive/html/shell-script-pt/>
 >
 > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor
 > utilize somente esta.


_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org <mailto:shell-script-pt@nongnu.org> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt <https://lists.nongnu.org/mailman/listinfo/shell-script-pt> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/ <https://lists.nongnu.org/archive/html/shell-script-pt/>

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse 
https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize 
somente esta.




reply via email to

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