%7D'%60%20faz%3F.png)
grep "variable1=" $file | awk '{printf("%5.3f,\n", $2)}' > .rpt_variable1
Minhas perguntas:
- O que o número 5 em '%5.3f" faz?
- Qual é o significado de $ 2?
- O que o comando 'awk' faz exatamente?
Responder1
Awk é um programa que irá examinar um arquivo linha por linha, encontrar strings especificadas e alterá-las (se desejado). Todo este comando irá procurar em algum arquivo ($file) para encontrar linhas com 'variable1=' neles. Esta é a parte do grep.
Nesse caso, o Awk está procurando nessas linhas o segundo campo ($2). Em seguida, ele produzirá o valor do campo 2 no formato nnnnn.nn (n sendo um único dígito) no arquivo .rpt_variable1. Parece um formato de moeda, então o campo 2 é provavelmente um valor em dólares. O 5 significa que a parte do 'dólar' será impressa com 5 dígitos (por exemplo, 12.500 por $ 12.500 ou 00543 por $ 543). O 2 em 5.2 significa que imprimirá o que está após o decimal em duas casas, o que é normal para centavos.