You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用sed/awk拆分两个合并的浮点数?

用sed/awk实现拆分的方法

当然可以用sed或awk轻松搞定这个需求,下面是具体的实现命令:

Sed 实现

用扩展正则表达式匹配固定格式的字符串,把中间的连接点拆分成空格分隔的两个浮点数:

sed -E 's/^([0-9]+\.[0-9]{2})([0-9])\.([0-9]+e\+06)$/\1 \2.\3/' 你的文件名.txt

原理:正则捕获三个分组,第一个分组是第一个浮点数(整数部分+小数点后两位),第二个分组是第二个浮点数的整数位,第三个分组是科学计数法的小数部分和指数;替换时把三个分组按要求拼接成两个分隔的浮点数。

Awk 实现

利用awk的正则捕获组功能,精准提取并重组内容:

awk 'match($0, /^([0-9]+\.[0-9]{2})([0-9])\.([0-9]+e\+06)$/, parts) {print parts[1], parts[2]"."parts[3]}' 你的文件名.txt

原理:通过match函数匹配字符串并将捕获到的内容存入parts数组,然后按格式输出两个浮点数。

如果你的输入格式完全固定(比如第一个浮点数始终是两位小数,第二个浮点数的整数位只有一位),上面的命令可以直接生效。如果有其他变体格式,可以调整正则里的匹配规则。

内容的提问来源于stack exchange,提问作者Thejas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:00:58