编写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"
使用说明
- 将脚本保存为
process_temp.sh,赋予执行权限:chmod +x process_temp.sh - 运行脚本:
./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
相关产品推荐
相关产品推荐

