在 awk 中将整数转换为浮点数
Convert integers to floats in awk
cat file.txt
1
1.6
0
0.7
2
3
3.7
预期输出为:
1.0
1.6
0.0
0.7
2.0
3.0
3.7
任何 awk 或 bash 解决方案?哪里是整数,就转成浮点数。
对于awk
,只需指明要用于打印结果的格式即可。使用 printf
表示您想要 1 位小数:
$ awk '{printf ("%.1f\n", )}' file
1.0
1.6
0.0
0.7
2.0
3.0
3.7
您可以说 %e
表示科学格式,%.5f
表示 5 位数字等。有关详细信息,请参阅提供的 link。
与 awk
的解决方案类似,您也可以将 printf
与 bash 一起使用,例如通过 xargs:
cat file.txt | xargs -n 1 printf "%.1f\n"
printf 的格式化选项为similar。
请注意,printf(对于 awk 或 bash)将输出四舍五入的值。因此,如果您的输入中包含 0.77
,则 %.1f
格式的结果将为 0.8
.
cat file.txt
1
1.6
0
0.7
2
3
3.7
预期输出为:
1.0
1.6
0.0
0.7
2.0
3.0
3.7
任何 awk 或 bash 解决方案?哪里是整数,就转成浮点数。
对于awk
,只需指明要用于打印结果的格式即可。使用 printf
表示您想要 1 位小数:
$ awk '{printf ("%.1f\n", )}' file
1.0
1.6
0.0
0.7
2.0
3.0
3.7
您可以说 %e
表示科学格式,%.5f
表示 5 位数字等。有关详细信息,请参阅提供的 link。
与 awk
的解决方案类似,您也可以将 printf
与 bash 一起使用,例如通过 xargs:
cat file.txt | xargs -n 1 printf "%.1f\n"
printf 的格式化选项为similar。
请注意,printf(对于 awk 或 bash)将输出四舍五入的值。因此,如果您的输入中包含 0.77
,则 %.1f
格式的结果将为 0.8
.