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

使用BASH将文件第二列的科学计数法转换为十进制(保留原格式)

用BASH转换文件第二列的科学计数法为十进制(保留原格式)

针对你需要转换文件第二列科学计数法的需求,awk是最适合的工具——它不仅能轻松处理列文本,还会自动识别数值格式并完成转换,同时能精准控制输出格式保持原文件的结构。

解决方案命令

假设你的输入文件名为input.txt,执行以下命令即可完成转换并输出到新文件:

awk '{printf "%s\t%.10f\n", $1, $2}' input.txt > output.txt

命令解释

  • $1:直接输出第一列的原始内容,确保第一列格式完全不变
  • $2:awk会自动将第二列的科学计数法(比如1.05E-5、2.75E-6)解析为十进制数值
  • printf "%s\t%.10f\n":用制表符\t分隔两列(和原文件格式一致),第二列保留10位小数,避免精度丢失;你可以根据需求调整小数位数,比如改成%.8f保留8位
  • > output.txt:将结果写入新文件,避免覆盖原文件

测试示例

用你提供的样本数据测试,转换后第二列的科学计数法会变成这样:

43.83974818 0.6720400000
50.00000000 0.0100220000
...
200.00000000 0.0000105000
400.00000000 0.0000027500
...

原地修改文件(可选)

如果想直接修改原文件而不生成新文件,可以使用sponge工具(需要先安装moreutils包,比如apt install moreutils或brew install moreutils):

awk '{printf "%s\t%.10f\n", $1, $2}' input.txt | sponge input.txt

sponge会先读取所有转换后的内容,再写入原文件,避免边读边写导致的文件损坏问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:15:44