Curta grep + abordagem awk :
Digamos que o multiplicador seja 3
:
grep -sB 3 "All true" file.out | awk -v x=3 '$1=="|"{ print $3*x }'
A saída:
370.368
2367.37
-
-v x=3
- passando o multiplicador como variávelx
para o script awk
Em um arquivo, tenho uma certa construção:
------------------------------
| 1 123.456 789.1011 T |
| 2 789.123 234.1234 T |
------------------------------
All true
Eu posso
grep -s -B 3 "All true" file.out | head -n 2
para obter apenas as linhas relevantes
| 1 123.456 789.1011 T |
| 2 789.123 234.1234 T |
Como eu iria agora para obter os primeiros números ( 123.456
e 789.123
) nas variáveis, mas multiplicado por um certo valor x
Existe uma maneira de obter o argumento n
'de uma linha grep ou algo assim?
Crédito para o @Philippos, consegui a resposta:
number=$(grep -s -B 3 "All true" file.out | head -n 2 | cut -d' ' -f6 )
for i in ${number}
do
echo "$i*$x" | bc -l
done
Tags shell shell-script