bash - 使用 BASH 脚本计算文件中的数字
问题描述
我有以下数据记录的文件:
0.005
0.027
0.352
1.005
0.117
0.752
我正在尝试使用 bash 逐行读取文件并将数字分为 3 组:
if [($num < 0.2)] then min++
if [($num > 0.2) && ($num < 1)] then med++
if [($num > 1)] then max++
最后,我需要打印出 3 个变量来记录所有记录。知道如何在 bash 中读取文件并在 bash 中使用 float 操作它吗?
解决方案
不幸的是,bash 不太喜欢浮点数。但是,您可以使用其他文本处理工具,例如awk
:
awk '{if($0 < 0.2)min++; else if($0 < 1)med++; else max++;} END {print min, med, max;}' file.txt
另请注意,您的算法不能准确处理 0.2 和 1 的数字。
推荐阅读
- python - MF 8AM-4PM 的 Pandas 过滤器数据集
- python - Python 无法识别同一目录中的类
- visual-studio - 如何在使用 pack 命令生成 NuGet 包时为所有项目保持相同的版本
- excel - 查找每个 ID 的特定日期之前的最大日期和特定日期之后的最小日期
- sql-server - 即读后处理编程方法
- javascript - 如何从外部库导入已注册的 Phaser3 游戏对象;如何分发 Phaser3 游戏对象
- c# - 压缩两个具有相同内容的文件并将它们编码为 base64 给出不同的响应
- ios - 如何在 Firestore 中读取当前用户配置文件
- sql - 如何使用窗口函数在sql中选择第三、第四、第五个日期
- python - 玩家在不与平台 Pygame 碰撞时不会摔倒