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

编写Bash脚本处理天气数据文件:保留较低温度值及求在线编辑器推荐

Bash脚本实现天气温度数据处理

脚本功能

针对类CSV格式的天气数据,自动保留每行两个t:开头的温度字段中的较低值,删除较高值的t:字段,处理后的数据可直接作为AmCharts 3的数据源使用。

完整脚本代码

#!/bin/bash

# 处理类CSV天气数据,保留每行两个t:温度的较低值
awk -F ', ' '
{
    temp1 = ""
    temp2 = ""
    other_fields = ""
    # 遍历所有字段,分离温度与非温度字段
    for (i=1; i<=NF; i++) {
        if ($i ~ /^t:/) {
            val = substr($i, 3)
            if (temp1 == "") {
                temp1 = val
                temp1_field = $i
            } else {
                temp2 = val
                temp2_field = $i
            }
        } else {
            other_fields = (other_fields == "") ? $i : other_fields ", " $i
        }
    }
    # 选择较低的温度字段
    selected_temp = (temp1 + 0 < temp2 + 0) ? temp1_field : temp2_field
    # 拼接并输出结果行
    print (other_fields != "") ? other_fields ", " selected_temp : selected_temp
}
' "$1" > "$2"

使用说明

  1. 将脚本保存为process_temp.sh,赋予执行权限:chmod +x process_temp.sh
  2. 运行脚本:./process_temp.sh 输入文件路径 输出文件路径
    示例:./process_temp.sh raw_weather.csv processed_weather.csv

脚本逻辑说明

  • 用-F ', '指定类CSV的字段分隔符,适配常见的逗号加空格格式
  • 遍历每行字段,分别收集非温度字段和两个温度字段的数值与原始内容
  • 通过数值比较确定较低温度,保留对应的原始t:字段
  • 拼接非温度字段与选中的温度字段,输出符合要求的行格式

Bash在线运行工具推荐

推荐几个类似JavaScript在线编辑器的Bash运行工具,无需本地环境即可调试脚本:

  • ShellCheck:兼具代码运行与语法检查功能,能指出脚本中的错误和优化建议,适合调试阶段使用
  • Online Bash Compiler:界面简洁,支持直接输入Bash代码并实时运行输出结果,操作和JS编辑器类似
  • Bash Runner:轻量级工具,专注快速运行脚本,支持简单的输入输出测试,适合验证小片段代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:01:01