awk快速学习

         一直久仰awk的大名,但一直没有学习,果然是要用的时候学习起来会比较快。答应了帮人写个小程序,就快速学习了下。 
         首先不知道如何入手,我先看看语法吧。 看电子书:《I love awk》熟悉下语法 。awk最牛逼的就是处理数据,如果能像数据库一样select group啊什么的,就好了,于是我参考了这篇文章: http://blog.youkuaiyun.com/sunny5211/article/details/8507020
         再说我遇到的一个个问题,我如何解决的。
1、如何使用文件来写脚本,因为在命令行里要敲一大坨不方便调试。所以有这个想法。
         awk -f xxx.awk a
      // a文件是要分析的文件,xxx.awk就是awk的具体脚本。 

2、如何设置分隔符,万恶的分隔符!!!

            如果在命令行里就写 awk -F“ ” 这里表示以空格为分隔符

            如果 是“\t”分隔符就写 awk -F"\t"

            ps:注意空格分隔符和制表符\t是两种不同的分隔,一定要注意!!!姐可是被这玩意儿害惨了的!

           如果在xxx.awk分析文件里就写BEGIN{FS="\t"} 

3、一种牛b的判断重复行的写法 比如数据格式如下:

            第一列是id 第二列是name 第三列是选课 

1 jerry aa
1 jerry bb 
2 kimi aa 
2 kimi cc 
3 jimmy bb 

          比如我要统计有几个人

                     {if(!a[$1]++){x++;}} 这个非的表示用的十分巧妙! 

          比如我要统计每个人选了几门课 

                    {b[$1]++;}

 4、如何定义函数 

          和c一样 直接定义 function a(){ ...... return xx; } 

5、如何在代码里使用正则?

           if(x ~/^[1,3]0[0-9][0-9][0-9]/){......} ~符号表示匹配 x为一个变量 ^[1,3]表示以开头 

6、内置函数的使用 split() 我这么用了一下: 

  

string="1|2|3|4|5"; 
split(string,array,/\|/); 
for(i=1;i<=5;i++)
 { if(x==array[i]) 
	{return "1";} 
} 

 7、遍历数组可以,注意数组从1的下标开始的。和c有点不一样。

           

for(i in a){print a[i];}
for(i=1;i<=length(a);i++){print a[i];}


8、如何同时处理两个文件 比如a文件 和b文件

a文件

1 a 10
2 b 20
3 c 30
b文件

1 xxx
2 yyy
3 zzz

想拼接成c文件该如何拼

1 a 10 xxx
2 b 20 yyy
3 c 30 zzz

一句话 就可以搞定,NR==FNR表示在处理b文件,后面的{}表示处理b文件执行的动作;NR>FNR表示在处理a文件后面的{}表示处理a文件执行的动作。

awk '{NR==FNR{a[$1]=$2;}NR>FNR{print{ $0,a[$1]}}}'  b a


9、打印文件倒数第三列的和







基于TROPOMI高光谱遥感仪器获取的大气成分观测资料,本研究聚焦于大气污染物一氧化氮(NO₂)的空间分布与浓度定量反演问题。NO₂作为影响空气质量的关键指标,其精确监测对环境保护与大气科学研究具有显著价值。当前,利用卫星遥感数据结合先进算法实现NO₂浓度的高精度反演已成为该领域的重要研究方向。 本研究构建了一套以深度学习为核心的技术框架,整合了来自TROPOMI仪器的光谱辐射信息、观测几何参数以及辅助气象数据,形成多维度特征数据集。该数据集充分融合了不同来源的观测信息,为深入解析大气中NO₂的时空变化规律提供了数据基础,有助于提升反演模型的准确性与环境预测的可靠性。 在模型架构方面,项目设计了一种多分支神经网络,用于分别处理光谱特征与气象特征等多模态数据。各分支通过独立学习提取代表性特征,并在深层网络中进行特征融合,从而综合利用不同数据的互补信息,显著提高了NO₂浓度反演的整体精度。这种多源信息融合策略有效增强了模型对复杂大气环境的表征能力。 研究过程涵盖了系统的数据处理流程。前期预处理包括辐射定标、噪声抑制及数据标准化等步骤,以保障输入特征的质量与一致性;后期处理则涉及模型输出的物理量转换与结果验证,确保反演结果符合实际大气浓度范围,提升数据的实用价值。 此外,本研究进一步对不同功能区域(如城市建成区、工业带、郊区及自然背景区)的NO₂浓度分布进行了对比分析,揭示了人类活动与污染物空间格局的关联性。相关结论可为区域环境规划、污染管控政策的制定提供科学依据,助力大气环境治理与公共健康保护。 综上所述,本研究通过融合TROPOMI高光谱数据与多模态特征深度学习技术,发展了一套高效、准确的大气NO₂浓度遥感反演方法,不仅提升了卫星大气监测的技术水平,也为环境管理与决策支持提供了重要的技术工具。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值