当前位置: 首页 > news >正文

基于bash通过cdo批处理数据

***####################################

  1. ubuntu中编写shell脚本文件
    第一步:用vim创建一个以.sh结尾的文件,此时这个文件是暂时性的文件,当编写好文件并保存时才能看到文件;
    第二步:要首先按一下“i”键才能进行插入(编写)模式,文件开头要写一段特殊符号,“#!/bin/bash” ,这个是开头文件的要求;
    第三步:可以开始写里面的内容了,其中可以使用 # 作为单行注释的符号,用 “:<<! !”,作为多行注释的符号;
    第四步:编写完语句之后按一下esc键,然后再按冒号键进入最后一行,然后在按“wq”键进行保存,在运行前要使用 “chmod”进行修改权限,具体的指令为“chmod 777 a.sh”;
    最后一步:进行运行,使用" ./ "+文件名来运行这个脚本文件。
    vi filename :打开或新建文件,并将光标置于第一行首
    vi +n filename :打开文件,并将光标置于第n行首
    vi + filename :打开文件,并将光标置于最后一行首
    2.bash+cdo批量处理
    #tree 命令查看文件夹下的所有文件
    如果没有tree,需要重新打开ubuntu终端通过# sudo apt-get install tree 安装tree
    A.输出文件的路径(以当前路径./为起始路径)到filelist.txt
    find ./ | xargs ls -d >filelist.txt
    B. 由于filelist.txt此时包含单独的目录,这里仅保留末尾为nc文件的行,去掉另外那些行:
    sed -i ‘/nc/!d’ filelist.txt
    #当一个文件夹中有多个变量,但只需要对某一个变量进行数据操作时,需要借助.sh脚本。如
    我的文件夹下面有多个变量,其中每个变量都需要进行合并时,编辑的.sh脚本如下所示:在这里插入图片描述
#!/bin/bash
varname=(clt od550aer rsds sfcWind tas)for var in "${varname[@]}"; domergetime "${var}"*.nc "${var}"_historical.nc 
done

#当对数据重采样以后又想合并数据又想提取区域时:

#!/bin/bash# Define the variable names and experiments
varnames=("clt" "od550aer" "rsds" "sfcWind" "tas")
experiments=("historical" "ssp126" "ssp245" "ssp585")# Create the output directory
mkdir -p post# Loop over the variables and experiments
for varname in "${varnames[@]}"; dofor experiment in "${experiments[@]}"; do# Merge the files for the current variable and experimentcdo mergetime "${varname}"*"${experiment}"*.nc "post/${varname}.${experiment}.nc"done
done
#!/bin/bash# Define input and output directories
indir="input"
outdir="output"# Define input and output region
region="-180,180,-90,90"
outregion="-100,20,0,60"# Loop through input files and extract region
for infile in ${indir}/*.nc; dooutfile="${outdir}/$(basename ${infile})"cdo sellonlatbox,${region} ${infile} ${outfile}
done# Merge all output files
cdo mergetime ${outdir}/*.nc ${outdir}/merged.nc# Re-grid merged file to output region
cdo remapbil,${outregion} ${outdir}/merged.nc ${outdir}/merged_regrid.nc

相关文章:

基于bash通过cdo批处理数据

***#################################### ubuntu中编写shell脚本文件 第一步&#xff1a;用vim创建一个以.sh结尾的文件&#xff0c;此时这个文件是暂时性的文件&#xff0c;当编写好文件并保存时才能看到文件&#xff1b; 第二步&#xff1a;要首先按一下“i”键才能进行插入…...

Map和Set总结

Map和Set Map和Set是专门用来进行搜索的数据结构&#xff0c;适合动态查找 模型 搜索的数据称为关键字(key)&#xff0c;关键字对应的叫值(value)&#xff0c;key-value键值对 key模型key-value模型 Map存储的就是key-value模型&#xff0c;Set只存储了key Map Map是接口类…...

pytorch网络模型构建中的注意点

记录使用pytorch构建网络模型过程遇到的点 1. 网络模型构建中的问题 1.1 输入变量是Tensor张量 各个模块和网络模型的输入&#xff0c; 一定要是tensor 张量&#xff1b; 可以用一个列表存放多个张量。 如果是张量维度不够&#xff0c;需要升维度&#xff0c; 可以先使用 …...

面试时候这样介绍redis,redis经典面试题

为什么要用redis做缓存 使用Redis缓存有以下几个优点&#xff1a; 1. 提高系统性能&#xff1a;缓存可以将数据存储在内存中&#xff0c;加快数据的访问速度&#xff0c;减少对数据库的读写次数&#xff0c;从而提高系统的性能。 2. 减轻后端压力&#xff1a;使用缓存可以减…...

机械学习 - scikit-learn - 数据预处理 - 2

目录关于 scikit-learn 实现规范化的方法详解一、fit_transform 方法1. 最大最小归一化手动化与自动化代码对比演示 1&#xff1a;2. 均值归一化手动化代码演示&#xff1a;3. 小数定标归一化手动化代码演示&#xff1a;4. 零-均值标准化(均值移除)手动与自动化代码演示&#x…...

华为OD机试题 - 最长连续交替方波信号(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:最长连续交替方波信号题目输入输出示例一输入输出Code解题思路版…...

executor行为相关Spark sql参数源码分析

0、前言 参数名和默认值spark.default.parallelismDefault number of partitions in RDDsspark.executor.cores1 in YARN mode 一般默认值spark.files.maxPartitionBytes134217728(128M)spark.files.openCostInBytes4194304 (4 MiB)spark.hadoop.mapreduce.fileoutputcommitte…...

双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+模块

概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道&#xff08;5.2GSPS/通道&#xff09;、单通道10.4GSPS、射频采样ADC模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.1规范&#xff0c;该模块可以作为一个理想的IO单元耦合至FPGA前端&#xff0c;8通道的JE…...

理解java反射

是什么Java反射是Java编程语言的一个功能&#xff0c;它允许程序在运行时&#xff08;而不是编译时&#xff09;检查、访问和修改类、对象和方法的属性和行为。使用反射创建对象相比直接创建对象有什么优点使用反射创建对象相比直接创建对象的主要优点是灵活性和可扩展性。当我…...

EasyRcovery16免费的电脑照片数据恢复软件

电脑作为一种重要的数据储存设备&#xff0c;其中保存着大量的文档&#xff0c;邮件&#xff0c;视频&#xff0c;音频和照片。那么&#xff0c;如果电脑照片被删除了怎么办&#xff1f;今天小编给大家介绍&#xff0c;误删除的照片从哪里可以找回来&#xff0c;误删除的照片如…...

若依微服务版在定时任务里面跨模块调用服务

第一步 在被调用的模块中添加代理 RemoteTaskFallbackFactory.java: package com.ruoyi.rpa.api.factory;import com.ruoyi.common.core.domain.R; import com.ruoyi.rpa.api.RemoteTaskService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf…...

SpringMVC简单配置

1、pom.xml配置 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><build><…...

xcat快速入门工作流程指南

目录一、快速入门指南一、先决条件二、准备管理节点xcatmn.mydomain.com三、第1阶段&#xff1a;添加你的第一个节点并且用带外BMC接口控制它四、第 2 阶段 预配节点并使用并行 shell 对其进行管理二&#xff1a;工作流程指南1. 查找 xCAT 管理节点的服务器2. 在所选服务器上安…...

C++回顾(十九)—— 容器string

19.1 string概述 1、string是STL的字符串类型&#xff0c;通常用来表示字符串。而在使用string之前&#xff0c;字符串通常是 用char * 表示的。string 与char * 都可以用来表示字符串&#xff0c;那么二者有什么区别呢。 2、string和 char * 的比较 &#xff08;1&#xff09…...

Hadoop入门

数据分析与企业数据分析方向 数据是什么 数据是指对可观事件进行记录并可以鉴别的符号&#xff0c;是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合&#xff0c;它是可以识别的、抽象的符号。 他不仅指狭义上的数字&#xff0c;还可以是具有一…...

高校如何通过校企合作/实验室建设来提高大数据人工智能学生就业质量

高校人才培养应该如何结合市场需求进行相关专业设置和就业引导&#xff0c;一直是高校就业工作的讨论热点。亘古不变的原则是&#xff0c;高校设置不能脱离市场需求太远&#xff0c;最佳的结合方式是&#xff0c;高校具有前瞻性&#xff0c;能领先市场一步&#xff0c;培养未来…...

提升学习 Prompt 总结

NLP现有的四个阶段&#xff1a; 完全有监督机器学习完全有监督深度学习预训练&#xff1a;预训练 -> 微调 -> 预测提示学习&#xff1a;预训练 -> 提示 -> 预测 阶段1&#xff0c;word的本质是特征&#xff0c;即特征的选取、衍生、侧重上的针对性工程。 阶段2&…...

JavaScript学习笔记(2.0)

BOM--&#xff08;browser object model&#xff09; 获取浏览器窗口尺寸 获取可视窗口高度&#xff1a;window.innerWidth 获取可视窗口高度:window.innerHeight 浏览器弹出层 提示框&#xff1a;window.alert(提示信息) 询问框&#xff1a;window.confirm(提示信息) 输…...

直击2023云南移动生态合作伙伴大会,聚焦云南移动的“价值裂变”

作者 | 曾响铃 文 | 响铃说 2023年3月2日下午&#xff0c;云南移动生态合作伙伴大会在昆明召开。云南移动党委书记&#xff0c;总经理葛松海在大会上提到“2023年&#xff0c;云南移动将重点在‘做大平台及生态级新产品&#xff0c;做优渠道转型新动能&#xff0c;做强合作新…...

STM32F1开发实例-振动传感器(机械)

振动(敲击)传感器 振动无处不在&#xff0c;有声音就有振动&#xff0c;哒哒的脚步是匆匆的过客&#xff0c;沙沙的夜雨是暗夜的忧伤。那你知道理科工程男是如何理解振动的吗&#xff1f;今天我们就来讲一讲本节的主角&#xff1a;最简单的机械式振动传感器。 下图即为振动传…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...