正则

正则表达式(Regular Express,RE)

是一种字符模式,用于在查找过程中匹配指定的字符,能被UNIX/Linux上所有的模式匹配工具识别的基本元字符

^行首定位符,匹配以指定字符开头的行,^root
$行尾定位符,匹配以指定字符结尾的行,root$
.匹配单个字符。一个小数点代表一个任意字符
*匹配任意个前导字符,例如ro*t,意思可以匹配到rt,rot,roooooot等
+匹配1个或多个前导字符,例如rot,可以匹配到rot,rooot,且不能匹配rt
?匹配0个或1个前导字符。例如ro?t,只能匹配到rt或者rot
[ ]方括号内为一个字符组,可以匹配字符组内容任意一个字符,也可以[0-9],[a-z],[A-Z]这种方式来表示一个范围
[ ^ ]匹配不在字符组内的任意一个字符,例如:0-9表示不包含任何数字
( )子表达式组合,例如(abc)+,可以匹配一个abc或者多个abc连续出现
|或者的意思,可以匹配多个内容,例如A | B,表示可以匹配到包含A或B的行
**转义字符,可以让一些具有特殊功能的符号失去特殊功能,例:() 可以在正则表达式中匹配括号
{x}一个字符或表达式匹配到的内容只重复x次,例,[0-9]{3},只能匹配到三位的数字。
{x,}一个字符或表达式匹配的内容至少重复x次,例:[a-z]{10},只能匹配到连续十个小写字符的字符串
{x,y}一个字符或表达式匹配的内容至少重复x次,最多重复y次。例:[A-Z]{5,7},可以匹配到5到7个大写字母组成的字符串。awk需要指定-posix 选项才能使用{ }

grep

使用方法:grep '关键字'

常用grep选项

选项功能
-c显示匹配到的行的数目,而不是显示行的内容
-i比较字符时忽略大小写
-l只列出匹配行所在的文件的文件名
-n在每一行前面加上它在文件中的相对行号
-v反向查找,只显示不匹配的行
-w把表达式做为词来查,就好像被<和>所包含一样
-A匹配到模式所在行的后两行
-B匹配到模式行所在行的前两行
-C匹配到模式所在行的前后两行
-R对列出的目录,递归的读取并处理这些目录中的所有文件,也就是指该下目录下的所有目录
egrep

扩展grep,包含grep的所有功能,类似于grep -E

示例:

1、基本用法


2、-c 显示匹配到的行的数目,而不是显示行的内容


3、-i 比较字符时忽略大小写


4、-n 显示过滤出的内容所在行行号


5、-v 取反,显示与指定字符串不匹配的内容


6、-A ,过滤出符合要求的行以及下面的n行(-B,-C用法类似)


7、过滤出包含数字1,3,5的行,使用[]


8、^:次幂符可以过滤出以指定字符串开头的行


sed

sed是一种新型的,非交互式的编辑器。它不会修改原文件。

sed编辑器逐行处理文件(或输入),并将输出结果发送到屏幕。sed把正在处理的行保存在一个临时缓冲区。sed处理完模式空间中的行后,就把该行发送到屏幕。sed处理完一行就将其从模式空间删除,然后将下一行读入空间。

sed的命令与选项

命令功能
a\在当前行后添加一行或多行
c\用新文本修改(替换)当前行中的文件
d删除行
i\在当前行前插入文本
h把模式空间里的内容复制到暂存缓冲区
H把模式空间里的内容追加到暂存缓冲区
g取出暂存缓冲区的内容,并将其复制到模式空间,覆盖该处原有内容
G取出暂存缓冲区的内容,并将其复制到模式空间,追加在原有内容后面。
l列出非打印字符
p打印行
n读入下一输入行,并从下一条命令而不是第一条命令开始对其处理
q结束或退出sed
r从文件中读取行
!对所选行以外的所有行应用命令
s用一个字符串替换另一个
替换标志 
g在行内进行全局替换
p打印行
w将行写入文件
x交换暂存缓冲区与模式空间的内容
y将字符转换为另一个字符(不能对正则表达式使用y)

awk

awk是一种用于处理数据和生成报告的UNIX编程语言,gawk是基于Linux的GNU版本。

awk的格式:awk指令由模式、操作、或模式与操作的组合组成。

awk可以接受来自文件、管道或标准输入的输入。

-F 指定分隔符,默认空格和TAB制表符

匹配模式(~)

匹配行首(^)

匹配或选择(|)

比较表达式

关系运算符

运算符含义示例
<小于x < y
<=小于或等于x <= y
==等于x == y
!=不等于x != y
>=大于或等于x >= y
>大于x > y
~与正则表达式匹配x ~ /y/
!~与正则表达式不匹配x !~ /y/

逻辑运算符和复合运算符

运算符含义示例
&&逻辑与a&&b
||逻辑或a||b
逻辑非!a
awk语法结构:
awk -F ':' 'BEGIN{语句} {if(条件){语句1;语句2;语句3} } END{语句}' filename 
eg:awk -F ':' 'BEGIN{OFS="#"} {if($1=="root"){$1="toor"; print $0}}' test.txt 

扩展

递归过滤:

如在data目录下,过滤所有*.php文档中含有eval的行

grep -r --include= "*.php" 'eval' /data/





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值