
linux--shell正则
发布日期:2021-05-14 12:19:30
浏览次数:15
分类:精选文章
本文共 1227 字,大约阅读时间需要 4 分钟。
正则表达式(grep/egrep)
正则表达式是对字符串操作的一种逻辑公式。通过事先定义的特定字符和字符组合,用户可以创建一个“规则字符串”,用于对文本进行过滤和提取。
正则表达式资料
正则表达式语法概述
.
:匹配任意字符*
:前一个字符出现0次或多次+
:前一个字符出现1次或多次?
:前一个字符出现0次或1次?=
:前一个字符出现0次到一次,取消贪婪模式*?
:匹配任意多个任意字符,使用非贪婪模式[]
:匹配集合中的单个字符,括号内为集合[a-z]
:匹配小写字母^
:匹配字符串开头$
:匹配字符串结尾[^……]
:否定集合,匹配不在括号内的字符|
:匹配竖线左边或右边的任何一个\
:表示转义字符\n
:匹配换行符analogous
:前一个表达式匹配n次到m次\q
:将括号内的内容存储在“保留空间,最大存储9个”#
:调用保留空间中的内容
常用示例
# 查找包含"root"或"ost"的行grep "root|ost" /tmp/passwd# 查找包含数字0-9的行grep [0-9] /tmp/passwd# 匹配以“root”开头的行grep ^root /tmp/passwd# 匹配以“bash”结尾的行grep bash$ /tmp/passwd# 查找数字0出现1次或2次的行grep '0{1,2}' /tmp/passwd# 查找包含“root:”开头且以:“root”结尾的行grep "\(root\).*\1" /tmp/passwd# 匹配空白行grep ^$ /tmp/passwd# 匹配非空白行grep -v ^$ /tmp/passwd
显示前后行
-A
:匹配结果之后的行-B
:匹配结果之前的行-C
:匹配结果之前和之后的n行seq 10 | grep 5 -B 4
seq 10 | grep 5 -A 2
seq 10 | grep 5 -C 2
拓展正则表达式
{n,m}
:前一个字符重复出现n次到m次+
:至少出现一次?
:出现0次或1次()
:逻辑或
# 查找数据0出现1次或2次的行grep '0{1,2}' /tmp/passwd
cut命令切分文件
- 按列切分文件,适用于处理CSV文件或空格分隔文件。
# 提取指定字段cut -f 2,3 student_data.txt# 禁止原样打印cut -f 2 -s test.txt# 显示未提取的字段cut -f 1 --complement student_data.txt# 指定不同的分隔符cut -d ";" -f 1 head -5 /tmp/passwd
cut命令补充说明
-c
:按字符切分文件-c 2-5
:提取第2到第5个字符--output-delimiter
:设置输出时的分隔符
cut -c2-5 a.txt --output-delimiter "----"
发表评论
最新留言
很好
[***.229.124.182]2025年04月09日 04时19分31秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
解决数据库报ORA-02289:序列不存在错误
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
成功解决升级virtualenv报错问题
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08
Struts2-从值栈获取list集合数据(三种方式)
2019-03-08
vscode中快速生成vue模板
2019-03-08
参考图像
2019-03-09
设计模式(18)——中介者模式
2019-03-09
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
2019-03-09
BUU-MISC-认真你就输了
2019-03-09
BUU-MISC-caesar
2019-03-09
【专题2:电子工程师 之 上位机】 之 【36.事件重载】
2019-03-09
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
2019-03-09
一文理解设计模式--命令模式(Command)
2019-03-09
VTK:可视化之RandomProbe
2019-03-09
block多队列分析 - 2. block多队列的初始化
2019-03-09