.Linux基础正则表达式字符

news/2024/7/23 10:46:13 标签: 计算机网络, linux, 服务器

^oldboy 以oldboy开头
oldboy$ 以oldboy结尾
^$ 空行
. 匹配任意单个字符
* 重复前一个字符0或n次
.* 匹配所有
c. 数据准备
#重要说明:Linux基础正则表达式仅适用于grep、sed、awk、egrep(grep -E)
[root@oldboyedu ~]# touch file{01..05}.txt
[root@oldboyedu ~]# touch {01..05}.txt
[root@oldboyedu ~]# ls
01.txt 03.txt 05.txt file02.txt file04.txt
02.txt 04.txt file01.txt file03.txt file05.txt
d. 过滤出以 file开头的所有文件
##方法1:利用通配符*匹配
[root@oldboyedu ~]# ls file*
file01.txt file02.txt file03.txt file04.txt file05.txt
##方法2:利用正则^
[root@oldboyedu ~]# ls |grep "^file"
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt

e. 过滤出以 txt 结尾的所有文件
[root@oldboyedu ~]# ls|grep "txt$"
01.txt
02.txt
03.txt
04.txt
05.txt
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt

f. 过滤空行( ^$
##测试准备
[root@oldboyedu ~]# echo 1 >>file01.txt
[root@oldboyedu ~]# echo >>file01.txt ##生成空行
grep的-E选项,允许同时过滤多组内容,等价于egrep。
h.过滤含有0后是任意字符的文件
[root@oldboyedu ~]# echo >>file01.txt ##生成空行
[root@oldboyedu ~]# echo 2 >>file01.txt
[root@oldboyedu ~]# cat file01.txt
1
2
## 过滤空行
[root@oldboyedu ~]# grep "^$" file01.txt
## 排除空行
[root@oldboyedu ~]# grep -v "^$" file01.txt
1
2

g. 同时过滤出含有 file 开头和 jpg 结尾的所有文件
##准备测试数据
[root@oldboyedu ~]# touch a{1..3}.jpg
[root@oldboyedu ~]# ls
01.txt 03.txt 05.txt a2.jpg file01.txt file03.txt file05.txt
02.txt 04.txt a1.jpg a3.jpg file02.txt file04.txt
##同时过滤出含有file开头以及jpg结尾的所有文件
[root@oldboyedu ~]# ls|grep -E "^file|jpg$"
a1.jpg
a2.jpg
a3.jpg
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt
[root@oldboyedu ~]# ls|egrep "^file|jpg$"
a1.jpg
a2.jpg
a3.jpg
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt
## 实验:
yum install nginx -y
egrep -v "^ $| #" /etc/nginx/nginx.conf [root@oldboyedu ~] # ls|grep "0."
01 .txt
02 .txt
03 .txt
04 .txt
05 .txt
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt
i. 过滤以 0 及后是任意字符【开头】的文件
[root@oldboyedu ~] # ls|grep "^0."
01 .txt
02 .txt
03 .txt
04 .txt
05 .txt
j. 过滤包含 file, 并且后面有 0 0 ,以及多个 0 的文件。
[root@oldboyedu ~] # touch file00
[root@oldboyedu ~] # touch file000
[root@oldboyedu ~] # ls|grep "file0*"
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt
file00
file000
k. 过滤包含 file0 ,然后后面任意多个字符的文件
[root@oldboyedu ~] # touch file0x
[root@oldboyedu ~] # touch file0y
[root@oldboyedu ~] # touch file0yyy
[root@oldboyedu ~] # ls|grep "file0.*" ##.* 表示所有
file00
file000
file01.txt
file02.txt
file03.txt
file04.txt
file05.txt
file0x
file0y
file0yyy
## 学习:根据结果反推命令的意义。

http://www.niftyadmin.cn/n/5473503.html

相关文章

操作系统(7分)

进程管理 进程的状态 前趋图 表达哪些任务可以先运行,任务间运行的先后顺序。 进程的同步与互斥 在多道程序环境下,操作系统必须采取相应措施处理好进程之间的制约关系。进程同步的主要任务是对多个有制约关系的进程在执行次序上进行协调,…

C++ 栈和堆的作用机制,及特点区别

在介绍C中的十分重要的动态内存管理机制之前,有必要先单独来介绍一下C中的两个概念,分别是栈和堆。 首先,应当明确的一点是栈和堆都是C中用于存储数据的内存区域。 栈的作用机制 栈的英文为Stack,是一种数据结构,一…

WPF中嵌入3D模型通用结构

背景:wpf本身有提供3D的绘制,但是自己通过代码描绘出3D是比较困难的。3D库helix-toolkit支持调用第三方生成的模型,比如Blender这些,所以在wpf上使用3D就变得非常简单。这里是一个通过helix-toolkit库调用第三方生成的3d模型的样例…

HAL STM32主从定时器联级使用

HAL STM32主从定时器联级使用 具体介绍参考STM32参考手册 🌿主从定时器联级:使用一个定时器作为另一个定时器的预分频器。 🍁时钟关系: 🌿TIM1 和TIM8 控制寄存器 2(TIMx_CR2)相关位: 🔖主…

专注项目管理的Mac工具 - Project Office Pro 最新版

Project Office Pro for Mac是一款功能强大的项目管理软件,旨在帮助用户更好地管理和跟踪项目进展,提高工作效率和质量。以下是该软件的主要功能介绍: 项目创建与编辑:用户可以根据自己的需求自定义项目计划,包括设置…

MES实施之工控机和电脑的选择

在MES项目实施过程中,经常会碰到工控机和电脑的选型问题,那么他们的区别是什么? 1、控机和普通个人电脑(PC)相比,具有以下几个区别: 1.运行环境不同:工控机通常需要在各种恶劣的工业环境中运行,如高温、高湿、强电磁干扰等,因此需要具有防尘、防水、抗干扰等特点。而…

windows下部署mongoDB

目录 1. 下载zip安装包并解压:Download MongoDB Community Server | MongoDB 2. 在解压后的文件夹中新建文件夹data及下级文件夹db和log 3. 新建一个mongod.cfg文件,并配置以下内容 4. 在cmd中启动mongodb,并进行验证 5. 部署到本地服务器…

自动驾驶_交通标志识别:各目标检测算法评测

自动驾驶|交通标志识别:各目标检测算法评测 论文题目:Evaluation of Deep Neural Networks for traffic sign detection systems 开源代码:https://github.com/aarcosg/traffic-sign-detection 附赠自动驾驶学习资料和量产经验:…