正则表达式

1、tr

用来对标准输出的字符进行替换压缩和删除

tr 选项 参数

-c:保留字符集1的字符,其他的字符用字符集2来进行替换

-d:删除字符集中的一部分

-s:把字符集1的部分替换成字符集2的部分,也可以把连续重复出现的字符压缩成一个字符

2、cut

快速裁剪,和awk都可以按行取列

作用:对字段进行截取和裁剪

-d:指定分割符(默认的分割符是tab键)

-f:对字段进行截取,指定输出段的内容

-complement:输出的时候排除指定的字段

-output-delimiter:更改输出内容的分割符

-b:以字节为单位进行截取

-c:以字符为单位进行截取

3、文件的拆分split

把大文件拆分成若干小的文件

-l:按行进行分割

-b:按照大小进行分割

面试题:现在有一个5G的日志文件,能不能快速的打开?

拆分,-l按行分,-b按大小分

这种文件推荐按照大小分

4、文件的合并

cat、paste

面试题:cat合并和paste合并之间的区别?

cat是上下合并,paste是左右合并

面试题:统计当前主机的连接状态

netstat -antp

ss -antp

ss -antp | grep -v '^State' | cut -d " " -f 1 | sort | uniq -c

5、正则表达式

5.1定义

由一类特殊字符以及文本字符所编写的一个模式,模式用来匹配文件当中的内容(字符)

5.2作用

可以校验输入的内容是否满足规定、格式、长度等要求

主要用来匹配文本内容,命令的结果

通配符只能用于匹配文件名和目录名,不能匹配文件内容和命令结果

5.3正则表达式分类

基本正则表达式

扩展正则表达式

6、基本正则表达式

6.1元字符(字符匹配)

. 任意单个字符,也可以是一个汉字

\ 转义符,恢复其本意

[ ]匹配指定范围内的任意单个字符或者数字

[^] 取反,除了范围之外的单个字符

"^#" 以#号为开头的字符

^$ 空行

6.2表示次数,匹配字符出现的次数

*匹配前面的字符任意次,0次也可以。贪婪模式,尽可能的匹配

.*匹配前面的任意字符,至少要有一次,匹配所有

\? 匹配前面的字符0次或者1次,可有可无

\ +匹配前面的字符至少要出现一次>=1

\ {n \}匹配前面的字符=n次,可以小于n但是不能大于n,而且前面的字符必须要是连续出现

\ {m,n \}匹配前面的字符至少m次,至多n次,必须是连续出现,超出的不在匹配范围

\ {,n \}匹配前面的字符最多n次,不能少于n次,但是可以超过n次

\ {n, \}匹配前面的字符最少n次

6.3位置锚定

^:以什么为开头,行首锚定

$:以什么为结尾,行尾锚定

"^root$" 这一行只能有root

\ <或者\b:词首锚定,匹配单词的左侧(连续的数字、字母、下划线都算单词内部)

\ >或者\b:词尾锚定,匹配单词的右侧

\broot\b:匹配整个单词,空格隔开的也算整个单词

^root$:整个一行只有这个单词

6.4分组和逻辑关系

分组:()

逻辑关系:\| 或者

7、扩展正则表达式

grep -E = egrep

*匹配前面的字符任意次,0次也可以。贪婪模式,尽可能的匹配

.*匹配前面的任意字符,至少要有一次,匹配所有

? 匹配前面的字符0次或者1次,可有可无

+匹配前面的字符至少要出现一次>=1

{n }匹配前面的字符=n次,可以小于n但是不能大于n,而且前面的字符必须要是连续出现

{m,n }匹配前面的字符至少m次,至多n次,必须是连续出现,超出的不在匹配范围

{,n }匹配前面的字符最多n次,不能少于n次,但是可以超过n次

{n, }匹配前面的字符最少n次

分组:()

逻辑关系:| 或者

相关推荐
无所谓จุ๊บ15 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然040224 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
superman超哥1 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452001 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 小时前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源