正则表达式
正则表达式匹配的是文本内容,linux的文本三剑客 都是针对文本内容
grep 过滤文本内容
sed 针对文本内容进行增删改查
awk 安行取列
文本三剑客。都是按照行进行匹配。
grep的作用就是使用正则表达式来匹配文本内容。
选项:
-m 匹配几次之后停止
-m 数字
-v 取反
-n 显示匹配的行号
-c 只统计匹配的行数
-o 仅显示匹配的结果
-q静默模式,不输出任何信息‘
-A after 数字,后几行
-B before 数字,数字,之间的行
-C 数字 前后各几行
-e 或者
-E 匹配扩展正则表达式
-f 匹配两个文件相同的内容,以第一个文件为准。
-r 递归目录 目录下的文件内容。软链接不不包含在内
-R 递归目录 目录下的文件内容。包含软连接
排序:
sort
以行为单位,对文件的内容进行排序
sort 选项 参数
cat file | sort 选项
-f 忽略大小写,默认会把大字母
-b 忽略每行之前的空格(不是把空格删除,只是依然按照数字和字母的顺序排列)
-n 按照数字进行排序
-r 反向排序
-u 相同的数据仅显示一行
-o 把排序后的结果转存到指定文件
uiiq去除连续重复的行,只显示一行
-c 统计连续重复·的行的次数,合并连续重复的行
-u 仅显示出现一次的行(包括不是连续出现的重复行)
-d 仅显示连续重复的行(不包括非连续出现的·内容)
tr:用来对标准输出的字符进行替换,压缩和删除
tr 选项 参数
-c 保留字符集1的字符,其他的字符用字符集2进行替换
-d 删除字符集中的一部分
-s 把字符集1的部分替换成字符集2的部分,把连续重复出现的字符压缩成一个字符
-s把原来的字符串替换成其他
cut 快速裁剪 awk都可以按行去列。
对字段进行截取和裁剪。
-d 指定分隔符 (默认的分割符是tab)
-f 对字段进行截取,指定输出段的内容
-complement 输出的时候排除制定的字段
-out
-b 以字节为单位进行截取
-c 以字符为单位进行截取
文件的拆分:
split 大文件拆分成若干小的文件
-l 按行来进行分割
-b 按照大小进行分割
面试题:
现在有一个日志文件,很大,5g,第一个能不能快速地打开?
拆分:-l 按行 -b大小
这种文件推荐使用按大小
文件合并:
cut想·
paste
面试题:
cat合并和paste合并之间有什么区别
cat是上下合并
paste是左右合并
面试题:
ss -antp | grep -v "State" | cut -d " " -f 1 | sort |uniq-c
正则表达式:由一特殊字符所编写的一个模式。模式又来匹配大文件内容(字符)
校验我们输入的内容是否满足规定,格式长度等等
主要用来匹配文本内容。命令结果
通配符:只能用于匹配文件名和目录名。不能匹配文件的命令结果
正则表达式:
基本正则表达式
元字符 (字符匹配)
.任意单个字符
\转义符 恢复其本意
[ ]匹配指定范围内的
[^]取反^
表示次数,匹配字符出现的次数:
*匹配前面的字符任意次,0也可以。贪婪模式,尽可能得匹配。
.*匹配前面的任意字符,至少有1次
\?匹配前面的字符
+匹配前面的字符,至少要出现一次>=1
\{n}配前面的字符=n次,可以小于n,但是不能大于n,而且前面的字符必须要连续出现。
\{m,N\}匹配前的字符至少m次,至多n次。必须是连续出现,超出的不再匹配范围
\{n,\}匹配前面的字符最少n次
\{,n\}匹配前面的字符最多n次
位置锚定:
^:以什么开头 行首锚定
$:以什么为结尾,行尾锚定
\<或者\b 词首锚定,匹配单词的左侧(连续的数字,字母,下划线都算单词内部)
\>或者\b 词尾锚定 用于匹配单词的右侧
\broot\b:匹配整个单词。空格隔开的也算整个单词。
^root$: 整个一行只有这个单词
区别
分组和逻辑关系
分组:()
或者: \
扩展正则表达
把基本正则表达式前面的\删除就是扩展正则表达式
原文地址:https://blog.csdn.net/yexiaoyex/article/details/139843331
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!