Shell编程(正则表达式)学习笔记

本文介绍了正则表达式的概念及其与通配符的区别,详细解释了如何使用正则表达式进行字符串的模式匹配,并列举了几种常用的字符截取命令,包括cut、printf、awk和sed命令的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式
一、正则表达式
二、字符截取命令


一 正则表达式是什么
正则表达式是用于描述字符排列和匹配模式的一种语法规则。
它主要用于字符串的模式分割、匹配、查找及替换操作。


正则表达式与通配符
通配符
* 匹配任意内容
? 匹配任意一个内容
[]匹配中括号中的一个字符

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep,awk,sed等命令可以支持正则表达式。
通配符用来匹配符合条件的文件名,通配符是完全匹配。ls,find,cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹
配了。


基础正则表达式


二 字符截取命令
1 cut字段提取命令
  cut [选项] 文件名
  选项:
   -f 列号:
   -d 分割符:

2 printf命令
  printf '输出类型输出格式' 输出内容

  输出类型:
  %ns : 输出字符串。n是数字指代输出几个字符
  %ni : 输出整数。n是数字指代输出几个数字
  %m.nf: 输出浮点数。m和n是数字,指代输出的整数位数和小数位数
         如%8.2f代表共输出8位数,其中2位是小数,6位是整数
  输出格式
  \n 换行
  \t 水平输出退格键
  \v 垂直输出退格键换行符

3 awk命令
  在awk命令的输出中支持print和printf命令
  print:print会在每个输出之后自动加入一个换行符(Linux默认没有print命令)
  printf:printf是标准格式输出命令,并不会自动加入换行符,如果需要换行,需要手动加入

  awk '条件1{动作1}条件2{动作2}...' 文件名
  条件(Pattern)
  一般使用关系表达式作为条件
  x>10判断变量x是否大于10
  动作(Action)
  格式化输出
  流程控制语句

4 sed命令
  sed是一种几乎包括在所有UNIX平台(包括Linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。
  sed [选项] '[动作]' 文件名
  选项:
  -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择则会把经过sed命令处理的行输出到屏幕
  -e:允许对输入数据应用多条sed命令编辑
  -i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
  动作:
  a:追加
  c:行替换
  i:插入
  d:删除
  p:打印
  s:字串替换

字符处理命令
5 sort命令
  sort [选项] 文件名
  选项:
  -f:忽略大小写
  -n:以数值型进行排序
  -r:反向排序
  -t:制定分隔符
  -k n[,m]:按照制定的字段范围排序

6 wc命令
  wc [选项] 文件名
  选项:
  -l:只统计行数
  -w:只统计单词数
  -m:只统计字符数
 
内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、COSO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析模拟,揭示了生物质炉具在实际应用中的优点挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值