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,