linux - 在小数点前插入逗号恰好 1 个空格

标签 linux shell ubuntu awk sed

例如,我有一堆不稳定的字符串,

8000.000.189065200.059420490.024467260.126043470.189065200.129982320.024467260.059420490.19806830

并且希望最好使用 sed 来修复它,但也欢迎使用 awk。我想要的很简单:在.之前插入一个,正好1个空格,这样字符串就可以变成

8000.00,0.18906520,0.05942049,0.02446726,0.12604347,0.18906520,0.12998232,0.02446726,0.05942049,0.19806830

你可以通过连续打印十进制数字而不破坏它来判断有人犯了错误(实际上是我)。幸运的是,我们只有 0 到 1 位小数,所以这让很多事情变得更容易。

问题是:我该怎么做?

非常感谢您的帮助!

最佳答案

使用 GNU sed

echo 8000.000.189065200.059420490.024467260.126043470.189065200.129982320.024467260.059420490.19806830 | 
sed 's/0\./,&/2g' 

8000.00,0.18906520,0.05942049,0.02446726,0.12604347,0.18906520,0.12998232,0.02446726,0.05942049,0.19806830

2g 将跳过第一个匹配并执行其余的操作

关于linux - 在小数点前插入逗号恰好 1 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986400/

相关文章:

c - Linux shell 脚本错误

c# - 如何在 GTK# 中使用 Ubuntu Unity 全局菜单?

php - 在 Ubuntu 中运行 CodeIgniter 项目

shell - PowerShell 的 chmod 函数

linux - 防止截断共享映射文件?

python - 从 Django 应用程序触发分布式异步处理的良好架构是什么?

java - 环境变量 CLASSPATH <> Clojure 的 CLASSPATH。为什么?

PHP 日志文件颜色

C# 和 Ubuntu - 如何获取主屏幕的大小?

python - 使用 pip 安装 Dynamic-DynamoDB 时出错