gpt4 book ai didi

linux - 使用 awk 为所有列使用相同的格式打印 $0

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:22 27 4
gpt4 key购买 nike

举个例子,我有一个只有一行的文件

0.1 35 23.0e3 4.0D+03

我想把它转换成一个格式很好的文件,比如

1.00e-01 3.50e+01 2.30e+04 4.00e+03

我知道我们可以在 awk 中使用 printf 语句来做到这一点,但如果列数很大,那将是乏味的。我想知道是否有一种方法可以设置所有列的格式,并且只使用 print $0

最佳答案

考虑这个输入:

$ a=$'0.1 35 23e3\n0.2 36 24e3';echo "$a"
0.1 35 23e3
0.2 36 24e3

这个 gnu awk 将实现您所期望的,而无需遍历字段:

$ echo "$a" |awk '{printf "%.2e%s",$0,RT}' RS="[ ]|\n"
1.00e-01 3.50e+01 2.30e+04
2.00e-01 3.60e+01 2.40e+04

我有意排除了 4.0D+03,因为它似乎无效。

关于linux - 使用 awk 为所有列使用相同的格式打印 $0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48733800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com