cat file.txt
1
1.6
0
0.7
2
3
3.7
Ожидаемый результат:Преобразование целых чисел в плавает в AWK
1.0
1.6
0.0
0.7
2.0
3.0
3.7
любой AWK или Баш решение? Везде, где есть целое число, конвертируйте в float.
cat file.txt
1
1.6
0
0.7
2
3
3.7
Ожидаемый результат:Преобразование целых чисел в плавает в AWK
1.0
1.6
0.0
0.7
2.0
3.0
3.7
любой AWK или Баш решение? Везде, где есть целое число, конвертируйте в float.
К awk
, это просто вопрос указать формат, который вы хотите использовать для печати результатов. Используйте printf
, чтобы указать, что вы хотите 1 десятичной цифры:
$ awk '{printf ("%.1f\n", $1)}' file
1.0
1.6
0.0
0.7
2.0
3.0
3.7
Вы можете сказать %e
научного формат, %.5f
, чтобы получить 5 цифр и т.д. См прилагаемой ссылки для получения более подробной информации.
Аналогично решению с awk
, вы можете использовать printf
с bash, например. через xargs:
cat file.txt | xargs -n 1 printf "%.1f\n"
Параметры форматирования Printf являются similar.
Обратите внимание, что printf (либо для awk, либо bash) выдаст округленное значение. Так что если у вас есть 0.77
на вашем входе, результат %.1f
будет 0.8
.
'-n 1' не требуется, если входной файл не является огромным .. – anishsane
Он хорошо работает. Спасибо fedorqui. – user3652962