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 13:53:41 -0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0

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
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]