正则表达式(二)

一.相关命令

1.uniq

去重,用于统计或者忽略文件中连续出现的重复行,一般和sort结合使用

格式

uniq 选项 参数

cat 文件名 | uniq选项

选项

-c 统计连续重复的次数,并且合并

-u 显示仅出现一次的行(包括不连续的重复行)

-d 仅显示重复出现的行(必须是连续的重复行)

2.tr

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

格式

tr 选项 参数

echo 字符串 | tr 选项

选项

-c 保留字符集1的字符,用其他字符来代替字符集2

-d 删除属于字符集1的字符

-s 将重复出现的字符集压缩成一个,用字符集2替换1

3.cut

截取,对字段进行截取和裁剪

格式

cut 选项 参数

选项

-d 指定分隔符(默认tab)

-f 指定要截取的字段

-b 以字符的单位进行截取

-complement 排除指定的字段

-output-delimmiter 更改输入内容的分隔符

4.cat

合并文件,上下合并

cat 1 2 > 3

5.paste

合并文件,左右合并

paste 1 2 > 3

6.split

拆分文件

选项

-l 按行分割

-b 按文件大小分割

二.正则表达式的格式

1.元字符

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

() 使用转义符,只表示\(\)

\] 匹配指定范围内的任意单个字符,示例:\[dn\] \[0-9\] \[\] \[a-zA-Z\] \[:alpha:

\^\] 匹配指定范围外的任意单个字符,示例:\[\^dn\] \[\^a.z

:alnum:\] 字母和数字 \[0-9\] \[a-z\] \[0-9\] \[a-z

:alpha:\] 代表任何英文大小写字符,亦即 \[A-Z\], \[a-z

:lower:\] 小写字母,示例:\[\[:lower:\]\],相当于\[a-z

:upper:\] 大写字母 \[A-Z

\[:blank:\]\] 空白字符(空格和制表符) \[:space:\] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比\[:blank:\]包含的范围广 \[:cntrl:\] 不可打印的控制字符(退格、删除、警铃...) \[:digit:\] 十进制数字 \[:xdigit:\]十六进制数字 \[:graph:\] 可打印的非空白字符 \[:print:\] 可打印字符 \[:punct:\] 标点符号 \\w #匹配单词构成部分,等价于\[_\[:alnum:\]

\W #匹配非单词构成部分,等价于[^_[:alnum:]]

\S #匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\s #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

2.表示次数

*:任意字符,表示匹配前面的任意字符,0次也算

.*:匹配任意长度的字符,最少要有一次,也就是匹配所有

\?:匹配前面的字符0次或者一次

\+:匹配前面的字符,最少一次

\{n\}:匹配前面的字符等于多少次

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

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

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

3.位置锚定

以什么开始^

以什么结尾$

空行^$

"^root$"表示他本身

4.词首词尾锚定

\b

相关推荐
梦星辰.29 分钟前
VSCode CUDA C++进行Linux远程开发
linux·c++·vscode
知之则吱吱33 分钟前
亚马逊AWS云服务器高效使用指南:最大限度降低成本的实战策略
服务器·云计算·aws
远方160937 分钟前
0x-2-Oracle Linux 9上安装JDK配置环境变量
java·linux·oracle
cui_win44 分钟前
每日一令:Linux 极简通关指南 - 汇总
linux·运维·服务器
知星小度S1 小时前
Linux权限探秘:驾驭权限模型,筑牢系统安全
linux·运维·服务器
黄交大彭于晏1 小时前
发送文件脚本源码版本
java·linux·windows
搞Linux的杰仔2 小时前
Ubuntu20.04基础配置安装——系统安装(一)
linux·嵌入式开发
Kaede64 小时前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
Zfox_6 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
Kookoos7 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate