%7D'%60%3F.png)
grep "variable1=" $file | awk '{printf("%5.3f,\n", $2)}' > .rpt_variable1
Mis preguntas:
- ¿Qué hace el número 5 en '%5.3f"?
- ¿Cuál es el significado de $2?
- ¿Qué hace exactamente el comando 'awk'?
Respuesta1
Awk es un programa que escanea un archivo línea por línea, encuentra cadenas específicas y las cambia (si lo desea). Este comando completo buscará en algún archivo ($file) para encontrar líneas con 'variable1=' en ellas. Esta es la parte grep.
En este caso, Awk está buscando en esas líneas el segundo campo ($2). Luego generará el valor del campo 2 en el formato nnnnn.nn (siendo n un solo dígito) en el archivo .rpt_variable1. Esto parece un formato de moneda, por lo que el campo 2 probablemente sea un valor en dólares. El 5 significa que imprimirá la porción de 'dólar' como 5 dígitos (por ejemplo, 12500 por $12,500 o 00543 por $543). El 2 en 5.2 significa que imprimirá lo que está después del decimal hasta dos lugares, lo cual es normal para los centavos.