sed命令保留两位小数并删除逗号后的其余部分

sed命令保留两位小数并删除逗号后的其余部分

我有一个数值,例如 19.3478 或 22.456 或 10。如果有超过两位小数,我想删除多余的小数,以便逗号后面的小数永远不会超过两位。如果值为 10.0,则应保留为 10.0 或 10,但绝不应为“10.”。这可以用 sed 实现吗?

答案1

这应该可以做到:

sed -re 's/([0-9]+\.[0-9]{2})[0-9]+/\1/g' file_name

答案2

如果您有兴趣,这里有一个 Perl 解决方案:

perl -pe 's/(\d+\.\d{2})\d+/$1/g' file_name

相关内容