linux作业1 正则表达式的应用

发布 2022-09-20 17:01:28 阅读 6667

数据采取了北京市实时测试的pm2.5数据,数据源自北京市空气质量报告**,数据更新时间为2024年4月1日9时。

****:我只截取了其中包含数据的敏感部分:

更新:2024年04月01日 09时。

各监测站点实时数据。

监测站点aqi 污染等级pm2.5浓度 pm10浓度

奥体中心292 242μg/m243μg/m

昌平镇204 154μg/m—μg/m

定陵160 122μg/m169μg/m

东四292 242μg/m—μg/m

古城193 145μg/m219μg/m

官园262 212μg/m244μg/m

海淀区万柳217 167μg/m244μg/m

怀柔镇162 123μg/m140μg/m

农展馆289 239μg/m244μg/m

顺义新城189 142μg/m176μg/m

天坛285 235μg/m—μg/m

万寿西宫277 227μg/m267μg/m

cat | egrep '(更新:201[0-9]年[0-9][0-9]月[0-9][0-9]日 [0-9][0-9]时|[0-9]+]g' |sed 's/\(g\/m\) g' |awk 'nr==1 nr>1 ' awk 'nr==1 nr>1 '

cat命令是linux下的一个文本输出命令,通常是用于**某个文件的内容的。我们用来打开我们在**提取的信息。

毫无疑问,我们从**提取的信息冗杂,我们所需要的信息冗杂在里面。需要将有用信息筛选出来。对于本次的数据源来说,我们需要的有:**数据更新的时间、监测地点、监测点数据。

1. 对于更新时间来说:数据源包含时间的语句:“更新:2024年04月01日 09时。

。因此我们需要将其提取出来。因为可能含有其他日期数据,因此,我们将“更新:

”也添加到筛选项。因此,筛选语句:egrep' (更新:

201[0-9]年[0-9][0-9]月[0-9][0-9]日 [0-9][0-9]时)';

2. 对于监测点和监测点数据:数据源包含的数据格式:

奥体中心292 242μg/m243μg/m。其中在“292[0-9]+3. 最终命令:

egrep '(更新:201[0-9]年[0-9][0-9]月[0-9][0-9]日 [0-9][0-9]时|[0-9]+最终的时间格式:2018-03-15 13:

00:00

我们目前筛选出的时间格式:更新:2024年03月15日 13时。因此我们需要进行时间格式化。

1. 删除“更新:”(即将更新:替换为空格):sed 's/\(更新:\)g';

2. 将年月日时格式化(其中年月替换为-;时装换为00:00:

00格式):sed 's/\(201[0-9]\)年\([0-9][0-9]\)月\([0-9][0-9]\)日 \(0-9][0-9]\)时/\1-\2-\3 \4:00:

00/g';(其中:1,2,3,4代表前面\(201[0-9]\)0-9] [0-9]\)0-9] [0-9]\)0-9] [0-9] \四个整体)。

常用正则表达式

2.d 非负整数 正整数 0 3.0 9 1 9 0 9 正整数。4.d 0 非正整数 负整数 0 5.0 9 1 9 0 9 负整数6.d 整数。7.d d 非负浮点数 正浮点数 0 8.0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮点数。9.d d ...

常用正则表达式

表达式 0 9 功能 匹配1 20位数字。类型 数字。长度 1 20位。扩展 0 9 a za z0 9 功能 匹配5 20位以字母开头 可带数字 的字串。类型 以字母开头 可带数字 的字串。长度 5 20位。表达式 a za z 功能 匹配1 30位由大小写字母组成的串。类型 由大小写字母组成的串...

常用正则表达式

正则表达式用于字符串处理 表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。用户名 a z0 9 密码 a z0 9 十六进制值 a f0 9 a f0 9 电子邮箱 a z0 9da za z url httpsda za z w ip 地址 25 0 5 2 0 4 0 9 ...